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.

Not including header file keyboard.h or matrix.h

Other Parts Discussed in Thread: TCA8418, DA8XX, TPS65910, TPS65217, TLV320AIC3007

Hi,

We have included I2c TCA8418  drivere in board file.

When we call matrix purpose keyboard .h file which is present in plat -omap include plat path.

It is not adding for mach- omap2.

  • Moving this to the Omap forum for better support.
  • Dear Basappa,

    What processor are you using and kernel version (TI SDK also) ?
    Do you want to add TCA8418 device ?


    Please refer to the following e2e post for keyboard interface.
    e2e.ti.com/.../369278

    For TCA8418, you may have to do like below in board file.


    #include <linux/input/tca8418_keypad.h>

    /* KEY(row, col, val) */
    static uint32_t tca8418_km_data[] = {
    KEY(0, 0, KEY_LEFT),
    KEY(0, 1, KEY_DOWN),
    KEY(0, 2, KEY_ENTER),
    KEY(0, 3, KEY_M),

    KEY(1, 0, KEY_RIGHT),
    KEY(1, 1, KEY_UP),
    KEY(1, 2, KEY_I),
    KEY(1, 3, KEY_N),

    KEY(2, 0, KEY_A),
    KEY(2, 1, KEY_E),
    KEY(2, 2, KEY_J),
    KEY(2, 3, KEY_O),

    KEY(3, 0, KEY_B),
    KEY(3, 1, KEY_F),
    KEY(3, 2, KEY_K),
    KEY(3, 3, KEY_P)
    };

    static const struct matrix_keymap_data tca8418_mkdata[] = {
    .keymap = tca8418_km_data,
    .keymap_size = ARRAY_SIZE(tca8418_km_data),
    };

    static struct tca8418_keypad_platform_data tca8418_pdata = {
    .keymap_data = &tca8418_mkdata;
    .rows = 4;
    .cols = 4;
    .rep = 1; /* Just a guess */
    .irq_is_gpio = 0; /* Just a guess */
    };

    static struct i2c_board_info am335x_i2c_boardinfo2[] = {
    {
    I2C_BOARD_INFO(TCA8418_NAME, TCA8418_I2C_ADDR),
    .platform_data = &tca8418_pdata,
    },
    };
  • Thanks for your reply.

    Processor usesd is AM335x.

    We are able to compile and port into traget.

    The address and i2c is present in sys/platform/devices/I2C.1 .
    How to access and use it...


    Regards
  • Please utilize our sitara forum for AM335x related queries.
    e2e.ti.com/.../791

    If you configured the device correctly then you would get "input" entry in /sys/class/input/
    You can also test your device with "evtest" command.

    Please test with this command, when you hit the key appropriate letter will be displayed (matrix keypad)
    cat /dev/input/eventX
  • Hi,

    We can see my I2c is available only in this path sys/bus/i2c/devices 1-0015. In the same so many other i2c address is available like 1-0018, 1-002d and 1-0068.

    But we are not finding our driver in sys/bus/i2c/ drivers folder.
    In event0 which signal will appear either address of 1-0015 or 1-0018.

    Is there any other way to directly point our particular device input event.

    evtest is not working

  • We can see my I2c is available only in this path sys/bus/i2c/devices 1-0015. In the same so many other i2c address is available like 1-0018, 1-002d and 1-0068.

    You can get the i2c slave devices information though you didn't add I2C slave device info in board file.


    But we are not finding our driver in sys/bus/i2c/ drivers folder.
    In event0 which signal will appear either address of 1-0015 or 1-0018.

    Have you enabled the TCA8418 driver support via make menuconfig ?
    Can you please attach the linux boot log ?
  • hi,

    we have enabled the TCA8418 driver from make menuconfig and log file is attached with this mail.

    root@phyBOARD-WEGA-AM335x:/var/log cat messages
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x syslog.info syslogd started: BusyBox v1.20.2
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: klogd started: BusyBox v1.20.2 (2014-04-18 12:21:11 IST)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] Linux version 3.2.0-PD13.0.0 (basappa@basappa-H81M-S) (gcc version 4.76
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.000000] Machine: pcm051
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.000000] Memory policy: ECC disabled, Data cache writeback
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.000000] On node 0 totalpages: 131072
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.000000] free_area_init_node: node 0, pgdat c0631874, node_mem_map c066d000
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.000000] Normal zone: 1024 pages used for memmap
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.000000] Normal zone: 0 pages reserved
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.000000] Normal zone: 130048 pages, LIFO batch:31
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] AM335X ES2.1 (sgx neon )
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.000000] pcpu-alloc: [0] 0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 1308
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] Kernel command line: console=ttyO1,115200 ip=192.168.1.11:192.168.1.16a
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] Memory: 512MB = 512MB total
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] Memory: 513168k/513168k available, 11120k reserved, 0K highmem
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] Virtual kernel memory layout:
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] .text : 0xc0008000 - 0xc059d000 (5716 kB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] .init : 0xc059d000 - 0xc05d8000 ( 236 kB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] .data : 0xc05d8000 - 0xc063abe8 ( 395 kB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.000000] .bss : 0xc063ac0c - 0xc066c4e4 ( 199 kB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] NR_IRQS:396
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] Total of 128 interrupts on 1 active controller
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] OMAP clockevent source: GPTIMER2 at 25000000 Hz
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999s
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000000] Console: colour dummy device 80x30
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.000152] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.057678] pid_max: default: 32768 minimum: 301
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.057800] Security Framework initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.057922] Mount-cache hash table entries: 512
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.058349] CPU: Testing write buffer coherency: ok
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.059112] devtmpfs: initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.079071] omap_hwmod: pruss: failed to hardreset
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.080291] print_constraints: dummy:
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.080688] NET: Registered protocol family 16
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.083129] OMAP GPIO hardware version 0.1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.086090] omap_mux_init: Add partition: #1: core, flags: 0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.089355] omap_hsmmc.0: alias fck already exists
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.090850] d_can.1: alias fck already exists
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.091979] da8xx_lcdc.0: alias fck already exists
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.092773] omap_i2c.1: alias fck already exists
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.093109] davinci-mcasp.0: alias fck already exists
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.093627] omap2_mcspi.1: alias fck already exists
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.093872] omap2_mcspi.2: alias fck already exists
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.094177] edma.0: alias fck already exists
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.094207] edma.0: alias fck already exists
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.094238] edma.0: alias fck already exists
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.119415] bio: create slab <bio-0> at 0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.121704] SCSI subsystem initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.123565] usbcore: registered new interface driver usbfs
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.123931] usbcore: registered new interface driver hub
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.124145] usbcore: registered new device driver usb
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.124298] musb-ti81xx musb-ti81xx: musb0, board_mode=0x13, plat_mode=0x3
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.124633] musb-ti81xx musb-ti81xx: musb1, board_mode=0x13, plat_mode=0x1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.126098] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.127136] tps65910 1-002d: JTAGREVNUM 0x1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.130279] print_constraints: VRTC:
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.131744] print_constraints: VIO: at 1500 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.134063] print_constraints: VDD1: 600 <--> 1500 mV at 1100 mV normal
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.136322] print_constraints: VDD2: at 1100 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.137359] print_constraints: VDD3: 5000 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.138763] print_constraints: VDIG1: at 1800 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.140228] print_constraints: VDIG2: at 1800 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.141662] print_constraints: VPLL: at 1800 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.143096] print_constraints: VDAC: at 1800 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.144531] print_constraints: VAUX1: at 1800 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.145996] print_constraints: VAUX2: at 3300 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.147460] print_constraints: VAUX33: at 3300 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.148895] print_constraints: VMMC: at 3300 mV
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.149200] tps65910 1-002d: No interrupt support, no core IRQ
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.151489] Advanced Linux Sound Architecture Driver Version 1.0.24.
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.152984] cfg80211: Calling CRDA to update world regulatory domain
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.154266] Switching to clocksource gp timer
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.175048] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.175262] musb-hdrc musb-hdrc.0: dma type: pio
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.175628] MUSB0 controller's USBSS revision = 4ea20800
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.175628] musb0: Enabled SW babble control
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.175659] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.175689] musb-hdrc: MHDRC RTL version 2.0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.175689] musb-hdrc: setup fifo_mode 4
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.175720] musb-hdrc: 28/31 max ep, 16384/16384 memory
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.175750] musb-hdrc.0: bulk split disabled
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.175750] musb-hdrc.0: bulk combine disabled
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.176269] musb-hdrc musb-hdrc.0: USB OTG mode controller at e083c000 using PIO, IR8
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.176452] musb-hdrc musb-hdrc.1: dma type: pio
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.176757] MUSB1 controller's USBSS revision = 4ea20800
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.176788] musb1: Enabled SW babble control
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.176818] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.176818] musb-hdrc: MHDRC RTL version 2.0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.176849] musb-hdrc: setup fifo_mode 4
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.176879] musb-hdrc: 28/31 max ep, 16384/16384 memory
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.176879] musb-hdrc.1: bulk split disabled
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 0.176910] musb-hdrc.1: bulk combine disabled
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.176940] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.177001] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.177154] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.177154] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.177185] usb usb1: Product: MUSB HDRC host driver
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.177185] usb usb1: Manufacturer: Linux 3.2.0-PD13.0.0 musb-hcd
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.177215] usb usb1: SerialNumber: musb-hdrc.1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.178131] hub 1-0:1.0: USB hub found
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.178161] hub 1-0:1.0: 1 port detected
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.178802] musb-hdrc musb-hdrc.1: USB Host mode controller at e083e800 using PIO, I9
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.179260] NET: Registered protocol family 2
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.179473] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.179809] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.180175] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.180358] TCP: Hash tables configured (established 16384 bind 16384)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.180389] TCP reno registered
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.180389] UDP hash table entries: 256 (order: 0, 4096 bytes)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.180419] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.180664] NET: Registered protocol family 1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.180938] RPC: Registered named UNIX socket transport module.
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.180938] RPC: Registered udp transport module.
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.180969] RPC: Registered tcp transport module.
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.180969] RPC: Registered tcp NFSv4.1 backchannel transport module.
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.181213] NetWinder Floating Point Emulator V0.97 (double precision)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.181457] omap-gpmc omap-gpmc: GPMC revision 6.0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.181457] Registering NAND on CS0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 0.202789] VFS: Disk quotas dquot_6.5.2
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 0.202850] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.203460] JFFS2 version 2.2. (NAND) (SUMMARY) �© 2001-2006 Red Hat, Inc.
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.203796] msgmni has been set to 1002
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.204711] io scheduler noop registered
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.204742] io scheduler deadline registered
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.204803] io scheduler cfq registered (default)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.207672] da8xx_lcdc da8xx_lcdc.0: GLCD: Found IDK-1110R-23SVA1E panel
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.228302] Console: switching to colour frame buffer device 100x37
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.240692] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.242736] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.243286] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.966156] console [ttyO1] enabled
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.970489] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.978302] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.986083] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 0.993804] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.013000] brd: module loaded
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.022186] loop: module loaded
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 1.025695] i2c-core: driver [tsl2550] using legacy suspend method
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 1.032104] i2c-core: driver [tsl2550] using legacy resume method
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.038482] at24 1-0052: 4096 byte 24c32 EEPROM, writable, 32 bytes/write
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.048858] omap2-nand driver initializing
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.053436] ONFI flash detected
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.056823] ONFI param page 0 valid
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.060424] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron MT29F1G08ABADA)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.068786] 8 cmdlinepart partitions found on MTD device omap2-nand.0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.075439] Creating 8 MTD partitions on "omap2-nand.0":
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.080932] 0x000000000000-0x000000020000 : "nand0.xload"
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.088378] 0x000000020000-0x000000040000 : "nand0.xload_backup1"
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.096405] 0x000000040000-0x000000060000 : "nand0.xload_backup2"
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.104309] 0x000000060000-0x000000080000 : "nand0.xload_backup3"
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.112335] 0x000000080000-0x000000100000 : "nand0.barebox"
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.120178] 0x000000100000-0x000000120000 : "nand0.bareboxenv"
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.127838] 0x000000120000-0x000000920000 : "nand0.kernel"
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.141632] 0x000000920000-0x000008000000 : "nand0.root"
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.247253] OneNAND driver initializing
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.252105] UBI: attaching mtd7 to ubi0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.256134] UBI: physical eraseblock size: 131072 bytes (128 KiB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.262603] UBI: logical eraseblock size: 126976 bytes
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.268188] UBI: smallest flash I/O unit: 2048
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.273040] UBI: VID header offset: 2048 (aligned 2048)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.279266] UBI: data offset: 4096
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.808898] UBI: max. sequence number: 332
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.821838] UBI: attached mtd7 to ubi0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.825775] UBI: MTD device name: "nand0.root"
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.831359] UBI: MTD device size: 118 MiB
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.836486] UBI: number of good PEBs: 951
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.841247] UBI: number of bad PEBs: 0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.845825] UBI: number of corrupted PEBs: 0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.850433] UBI: max. allowed volumes: 128
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.855194] UBI: wear-leveling threshold: 4096
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.860046] UBI: number of internal volumes: 1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.864624] UBI: number of user volumes: 1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.869232] UBI: available PEBs: 0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.873809] UBI: total number of reserved PEBs: 951
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.878845] UBI: number of PEBs reserved for bad PEB handling: 9
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.885070] UBI: max/mean erase counter: 2/1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.889465] UBI: image sequence number: 36270686
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 1.894439] UBI: background thread "ubi_bgt0d" started, PID 546
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.901306] CAN device driver interface
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.905303] CAN bus driver for Bosch D_CAN controller 1.0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.911804] d_can d_can.1: device registered (irq=55, irq_obj=56)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.964965] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.971343] davinci_mdio davinci_mdio.0: detected phy mask fffffffc
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x cron.info crond[680]: crond: crond (busybox 1.20.2) started, log level 8
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.979156] davinci_mdio.0: probed
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.982696] davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver SMSC LAN8710/LA0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 1.991149] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver SMSC LAN8710/LA0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.000061] usbcore: registered new interface driver cdc_ether
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.006286] usbcore: registered new interface driver cdc_subset
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.012451] Initializing USB Mass Storage driver...
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.017791] usbcore: registered new interface driver usb-storage
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.023986] USB Mass Storage support registered.
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.029205] usbcore: registered new interface driver usbserial
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.035247] usbserial: USB Serial Driver core
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.040405] mousedev: PS/2 mouse device common for all mice
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.047302] input: ti-tsc as /devices/platform/omap/ti_tscadc/tsc/input/input0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.055694] rtc-m41t80 1-0068: chip found, driver version 0.05
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.063293] rtc-m41t80 1-0068: rtc core: registered rv4162c7 as rtc0
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.071441] i2c /dev entries driver
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.075897] lirc_dev: IR Remote Control driver registered, major 251
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.082550] IR NEC protocol handler initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.087249] IR RC5(x) protocol handler initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.092193] IR RC6 protocol handler initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.096893] IR JVC protocol handler initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.101562] IR Sony protocol handler initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.106353] IR RC5 (streamzap) protocol handler initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.112091] IR MCE Keyboard/mouse protocol handler initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.118133] IR LIRC bridge handler initialized
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.122711] Linux video capture interface: v2.00
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.127868] usbcore: registered new interface driver uvcvideo
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.133819] USB Video Class driver (1.1.1)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.140441] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.149108] cpuidle: using governor ladder
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.153930] cpuidle: using governor menu
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.debug kernel: [ 2.160705] Registered led device: peb_eval_01:green:led3
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.163452] usbcore: registered new interface driver usbhid
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.169281] usbhid: USB HID core driver
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 2.175903] _regulator_get: 1-0018 supply IOVDD not found, using dummy regulator
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 2.183624] _regulator_get: 1-0018 supply DVDD not found, using dummy regulator
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 2.191284] _regulator_get: 1-0018 supply AVDD not found, using dummy regulator
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 2.198883] _regulator_get: 1-0018 supply DRVDD not found, using dummy regulator
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.209655] asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.217681] ALSA device list:
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.220733] #0: PCM051
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.223358] oprofile: hardware counters not available
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.228607] oprofile: using timer interrupt.
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.233032] nf_conntrack version 0.5.0 (8018 buckets, 32072 max)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.239898] ip_tables: (C) 2000-2006 Netfilter Core Team
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.245544] TCP cubic registered
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.248901] NET: Registered protocol family 17
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.253479] can: controller area network core (rev 20090105 abi 8)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.259979] NET: Registered protocol family 29
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.264617] can: raw protocol (rev 20090105)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.269042] can: broadcast manager protocol (rev 20090105 t)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 2.274932] Registering the dns_resolver key type
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.279876] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.287811] ThumbEE CPU extension supported.
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.293029] Power Management for AM33XX family
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.304168] Detected MACID=20:cd:39:ff:62:ef
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.309875] cpsw: Detected MACID = 20:cd:39:ff:62:f1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.err kernel: [ 2.317291] rtc-m41t80 1-0068: hctosys: unable to read the hardware clock
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 2.329162] net eth0: CPSW phy found : id is : 0x7c0f1
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 3.355346] IP-Config: Complete:
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 3.358703] device=eth0, addr=192.168.1.11, mask=255.255.255.0, gw=192.168.1.1,
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 3.366485] host=192.168.1.11, domain=, nis-domain=(none),
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.warn kernel: [ 3.372589] bootserver=192.168.1.166, rootserver=192.168.1.166, rootpath=
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 3.419372] UBIFS: recovery needed
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 3.519439] UBIFS: recovery completed
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 3.523284] UBIFS: mounted UBI device 0, volume 0, name "root"
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 3.529327] UBIFS: file system size: 117706752 bytes (114948 KiB, 112 MiB, 927 L)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 3.537506] UBIFS: journal size: 9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 3.545043] UBIFS: media format: w4/r0 (latest is w4/r0)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 3.551055] UBIFS: default compressor: lzo
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.notice kernel: [ 3.555297] UBIFS: reserved for root: 0 bytes (0 KiB)
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 3.561431] VFS: Mounted root (ubifs filesystem) on device 0:14.
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 3.569610] devtmpfs: mounted
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.info kernel: [ 3.573425] Freeing init memory: 236K
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x user.err kernel: 0>[ 3.927246] udevd[657]: starting version 182
    Jan 1 00:00:04 phyBOARD-WEGA-AM335x auth.info sshd[695]: Server listening on 0.0.0.0 port 22.
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.155761] net eth1: CPSW phy found : id is : 0x7c0f1
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.187347] d_can d_can.1: can0: setting CAN BT = 0x209
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.252716] tda998x 1-0034: Error -121 writing to cec:0xff
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.260589] dummy 1-0070: Error -121 writing to REG_CURPAGE
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.266662] dummy 1-0070: Error -121 reading from 0xa
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.271972] dummy 1-0070: Error -121 writing to 0xa
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.325469] PHY: 0:00 - Link is Up - 100/Full
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.335296] dummy 1-0070: Error -121 reading from 0xa
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.354919] dummy 1-0070: Error -121 writing to 0xa
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.415069] dummy 1-0070: Error -121 reading from 0x1
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.434936] dummy 1-0070: Error -121 writing to 0x1
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.454925] dummy 1-0070: Error -121 reading from 0x1
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.474945] dummy 1-0070: Error -121 writing to 0x1
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.494903] dummy 1-0070: Error -121 writing to REG_CURPAGE
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.514923] dummy 1-0070: Error -121 writing to 0x201
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.520812] dummy 1-0070: Error -121 writing to REG_CURPAGE
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.527404] dummy 1-0070: Error -121 writing to 0x27
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.532989] dummy 1-0070: Error -121 reading from 0x0
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.err kernel: [ 5.538818] dummy 1-0070: Error -121 reading from 0x2
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.544036] found unsupported device: 0000
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.warn kernel: [ 5.836059] gadget: using random self ethernet address
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.warn kernel: [ 5.841491] gadget: using random host ethernet address
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.847534] usb0: MAC 26:8d:e0:f6:e5:fc
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.851501] usb0: HOST MAC 02:1f:89:4d:1e:be
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.856018] gadget: Ethernet Gadget, version: Memorial Day 2008
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.862213] gadget: g_ether ready
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.865753] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.871276] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.879028] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.886047] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.893493] usb usb2: Product: MUSB HDRC host driver
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.898620] usb usb2: Manufacturer: Linux 3.2.0-PD13.0.0 musb-hcd
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.904876] usb usb2: SerialNumber: musb-hdrc.0
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.926330] hub 2-0:1.0: USB hub found
    Jan 1 00:00:05 phyBOARD-WEGA-AM335x user.info kernel: [ 5.930267] hub 2-0:1.0: 1 port detected
    Jan 1 00:00:08 phyBOARD-WEGA-AM335x auth.info login[784]: root login on 'ttyO1'
  • In log, I am not able to see your driver TCA8418 registering, please make sure that you have enabled and used it board file.
    But I do see your EEPROM which is 0x52 as slave address.
  • hi,

    We have enabled in the board file. it is done just after eeprom is registered.
    please refer below code:

    static void pcm051_modul_init(void)
    {
    am335x_nand_init(&am335x_nand_timings);

    am33xx_tps65910_init(1, -1);


    i2c_register_board_info(1, pcm051_i2c_eeprom_boardinfo, 1);

    i2c_register_board_info(1, pcm051_i2c_rtc_boardinfo, 1);

    i2c_register_board_info(1, pcm051_i2c_audio_codec_boardinfo, 1);

    i2c_register_board_info(1, pcm051_i2c_tca8418_boardinfo, 1);


    }

    is that i have to register first TCA8418 and later i2c eeprom .

    Thanks & Regards
  • You have to add the platform data also in board file as I mentioned in earlier post.
    e2e.ti.com/.../1838703
  • hi,

    Complete board file i m copying here.
    Let me know any changes is required:

    /*
    * Code for phyCORE-AM335x.
    *
    *
    *
    * Based on mach-omap2/board-am335xevm.c
    *
    * Copyright (C) 2011 Texas Instruments, Inc. - http://www.ti.com/
    *
    * This program is free software; you can redistribute it and/or
    * modify it under the terms of the GNU General Public License as
    * published by the Free Software Foundation version 2.
    *
    * This program is distributed "as is" WITHOUT ANY WARRANTY of any
    * kind, whether express or implied; without even the implied warranty
    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    * GNU General Public License for more details.
    */

    #include <linux/kernel.h>
    #include <linux/init.h>
    #include <linux/module.h>
    #include <linux/leds.h>
    #include <linux/gpio.h>
    #include <linux/input.h>
    #include <linux/i2c.h>
    #include <linux/i2c/at24.h>
    #include <linux/platform_device.h>
    #include <linux/leds.h>
    #include <linux/clk.h>
    #include <linux/err.h>
    #include <linux/export.h>
    #include <linux/mfd/tps65217.h>
    #include <linux/reboot.h>
    #include <linux/opp.h>

    #include <mach/hardware.h>

    #include <asm/mach-types.h>
    #include <asm/mach/arch.h>
    #include <asm/mach/map.h>
    #include <asm/hardware/asp.h>

    #include <plat/omap_device.h>
    #include <plat/irqs.h>
    #include <plat/board.h>
    #include <plat/common.h>
    #include <plat/nand.h>

    #include <video/da8xx-fb.h>
    #include <plat/lcdc.h>

    //#include<plat/keypad.h>


    #include "board-flash.h"
    #include "mux.h"
    #include "common.h"
    #include "am33xx_generic.h"
    #include "am33xx_devices.h"
    #include "devices.h"


    /*For TCA8418 Keypad Controller */
    #include<linux/tca8418_keypad.h>
    //#include <linux/input/matrix_keypad.h>
    #include <plat/keypad.h>

    #include <plat/mcspi.h>
    #include <linux/input/matrix_keypad.h>

    /* TSc controller */
    #include <linux/input/ti_tsc.h>
    #include <linux/mfd/ti_tscadc.h>
    #include <linux/platform_data/ti_adc.h>

    /* Pin mux for mmc0 cd */
    static struct pinmux_config mmc0_cd_pin_mux[] = {
    {"spi0_cs1.mmc0_sdcd", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };
    /* Module pin mux for uart0 */
    static struct pinmux_config uart0_pin_mux[] = {
    {"uart0_txd.uart0_txd", OMAP_MUX_MODE0 | AM33XX_PULL_ENBL},
    {"uart0_rxd.uart0_rxd", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };
    /* Pin mux for uart1 */
    static struct pinmux_config uart1_pin_mux[] = {
    {"uart1_txd.uart1_txd", OMAP_MUX_MODE0 | AM33XX_PULL_ENBL},
    {"uart1_rxd.uart1_rxd", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
    {"uart1_ctsn.uart1_ctsn", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"uart1_rtsn.uart1_rtsn", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT},
    {NULL, 0},
    };
    /* Module pin mux for uart2 */
    static struct pinmux_config uart2_pin_mux[] = {
    {"mii1_rxclk.uart2_txd_mux0", OMAP_MUX_MODE1 | AM33XX_PULL_ENBL},
    {"mii1_txclk.uart2_rxd_mux0", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };
    /* Module pin mux for uart3 */
    static struct pinmux_config uart3_pin_mux[] = {
    {"mii1_rxd2.uart3_txd_mux0", OMAP_MUX_MODE1 | AM33XX_PULL_ENBL},
    {"mii1_rxd3.uart3_rxd_mux0", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };

    static struct pinmux_config usb_oc_pins_mux[] = {
    {"mcasp0_aclkr.gpio3_18", OMAP_MUX_MODE7 | AM33XX_PULL_ENBL |
    AM33XX_PIN_INPUT_PULLUP},
    {"mcasp0_fsr.gpio3_19", OMAP_MUX_MODE7 | AM33XX_PULL_ENBL |
    AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };

    static struct pinmux_config d_can1_pin_mux[] = {
    {"uart0_ctsn.d_can1_tx", OMAP_MUX_MODE2 | AM33XX_PULL_ENBL},
    {"uart0_rtsn.d_can1_rx", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };

    static struct pinmux_config led_pin_mux[] = {
    {"mii1_txclk.gpio3_9", OMAP_MUX_MODE7 | AM33XX_PULL_ENBL},
    {NULL, 0},
    };

    static struct pinmux_config btn_pin_mux[] = {
    {"xdma_event_intr1.gpio0_20", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
    {"ecap0_in_pwm0_out.gpio0_7", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
    {"mii1_rxclk.gpio3_10", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };

    /* Module pin mux for LCDC */
    static struct pinmux_config lcdc_pin_mux[] = {
    {"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data2.lcd_data2", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data3.lcd_data3", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data4.lcd_data4", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data5.lcd_data5", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data6.lcd_data6", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data7.lcd_data7", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data8.lcd_data8", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data9.lcd_data9", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data10.lcd_data10", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data11.lcd_data11", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data12.lcd_data12", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data13.lcd_data13", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data14.lcd_data14", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data15.lcd_data15", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"gpmc_ad8.lcd_data16", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad9.lcd_data17", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad10.lcd_data18", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad11.lcd_data19", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad12.lcd_data20", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad13.lcd_data21", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad14.lcd_data22", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad15.lcd_data23", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"lcd_vsync.lcd_vsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {NULL, 0},
    };

    /* ecap2 pinmux */
    static struct pinmux_config ecap2_pin_mux[] = {
    {"gpmc_csn1.gpio1_30", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
    {"mcasp0_ahclkr.ecap2_in_pwm2_out", OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT},
    {NULL, 0},
    };

    /* Module pin mux for mcasp0 */
    static struct pinmux_config mcasp0_pin_mux[] = {
    {"mcasp0_aclkx.mcasp0_aclkx", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"mcasp0_fsx.mcasp0_fsx", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"mcasp0_axr0.mcasp0_axr0", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLDOWN},
    {"mcasp0_axr1.mcasp0_axr1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"mcasp0_ahclkx.mcasp0_ahclkx", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {NULL, 0},
    };

    static struct gpmc_timings am335x_nand_timings = {

    /* granularity of 10 is sufficient because of calculations */
    .sync_clk = 0,

    .cs_on = 0,
    .cs_rd_off = 30,
    .cs_wr_off = 30,

    .adv_on = 0,
    .adv_rd_off = 30,
    .adv_wr_off = 30,

    .oe_on = 10,
    .we_off = 20,
    .oe_off = 30,

    .access = 30,
    .rd_cycle = 30,
    .wr_cycle = 30,

    .cs_cycle_delay = 50,
    .cs_delay_en = 1,
    .wr_access = 30,
    .wr_data_mux_bus = 0,
    };
    static struct at24_platform_data am335x_baseboard_eeprom_info = {
    .byte_len = (32*1024) / 8,
    .page_size = 32,
    .flags = AT24_FLAG_ADDR16,
    };



    static unsigned long int tca8418_km_data[]=
    {

    KEY(0, 0, KEY_LEFT),
    KEY(0, 1, KEY_DOWN),
    KEY(0, 2, KEY_ENTER),
    KEY(0, 3, KEY_M),

    KEY(1, 0, KEY_RIGHT),
    KEY(1, 1, KEY_UP),
    KEY(1, 2, KEY_I),
    KEY(1, 3, KEY_N),

    KEY(2, 0, KEY_A),
    KEY(2, 1, KEY_E),
    KEY(2, 2, KEY_J),
    KEY(2, 3, KEY_O),

    KEY(3, 0, KEY_B),
    KEY(3, 1, KEY_F),
    KEY(3, 2, KEY_K),
    KEY(3, 3, KEY_P)



    };


    static const struct matrix_keymap_data tca8418_mkdata =
    {
    .keymap = tca8418_km_data,
    .keymap_size = ARRAY_SIZE(tca8418_km_data)


    };


    static struct omap_kp_platform_data tca8418_pdata = {

    .keymap_data = &tca8418_mkdata,
    .rows = 4,
    .cols = 4,
    .rep = 1,
    //.irq_is_gpio =0
    };



    static struct i2c_board_info __initdata pcm051_i2c_tca8418_boardinfo[] = {
    {
    I2C_BOARD_INFO("tca8418-keypad", 0x15),
    .platform_data = &tca8418_pdata,
    },
    };




    static struct i2c_board_info __initdata pcm051_i2c_eeprom_boardinfo[] = {
    {
    I2C_BOARD_INFO("24c32", 0x52),
    .platform_data = &am335x_baseboard_eeprom_info,
    },
    };

    static struct i2c_board_info __initdata pcm051_i2c_rtc_boardinfo[] = {
    {
    I2C_BOARD_INFO("rv4162c7", 0x68),
    },
    };

    static struct i2c_board_info __initdata pcm051_i2c_audio_codec_boardinfo[] = {
    {
    I2C_BOARD_INFO("tlv320aic3007", 0x18),
    },
    };

    static struct gpio_led gpio_leds[] = {
    {
    .name = "peb_eval_01:green:led3",
    .default_trigger = "none",
    .gpio = 105,
    },
    };

    static struct gpio_led_platform_data gpio_led_info = {
    .leds = gpio_leds,
    .num_leds = ARRAY_SIZE(gpio_leds),
    };

    static struct platform_device leds_gpio = {
    .name = "leds-gpio",
    .id = -1,
    .dev = {
    .platform_data = &gpio_led_info,
    },
    };

    static struct i2c_board_info __initdata pcm051_peb_av_01_boardinfo[] = {
    {
    I2C_BOARD_INFO("tda998x", 0x34),
    },
    };

    static const struct display_panel disp_panel = {
    WVGA,
    32,
    32,
    COLOR_ACTIVE,
    };

    static struct lcd_ctrl_config lcd_cfg = {
    &disp_panel,
    .ac_bias = 40,
    .ac_bias_intrpt = 0,
    .dma_burst_sz = 16,
    .bpp = 32,
    .fdd = 0x80,
    .tft_alt_mode = 0,
    .stn_565_mode = 0,
    .mono_8bit_mode = 0,
    .invert_line_clock = 1,
    .invert_frm_clock = 1,
    .sync_edge = 0,
    .sync_ctrl = 1,
    .raster_order = 0,
    };

    static struct da8xx_lcdc_platform_data lcdc_pdata[] = {
    {
    .manu_name = "genericDVI",
    .controller_data = &lcd_cfg,
    .type = "DVI_XGA",
    }, {
    .manu_name = "genericDVI",
    .controller_data = &lcd_cfg,
    .type = "DVI_720P",
    }, {
    .manu_name = "HTdisplay",
    .controller_data = &lcd_cfg,
    .type = "HT_HT800070I",
    }, {
    .manu_name = "ZQdisplay",
    .controller_data = &lcd_cfg,
    .type = "ZQ_ZQ3506",
    }, {
    .manu_name = "NECdisplay",
    .controller_data = &lcd_cfg,
    .type = "NL4827HC19",
    },
    };

    static struct da8xx_lcdc_selection_platform_data lcdc_selection_pdata = {
    .entries_ptr = lcdc_pdata,
    .entries_cnt = ARRAY_SIZE(lcdc_pdata)
    };

    /* TSc platform data */
    static struct tsc_data am335x_touchscreen_data = {
    .wires = 4,
    .x_plate_resistance = 200,
    .steps_to_configure = 5,
    };

    static u8 am335x_iis_serializer_direction0[] = {
    RX_MODE, TX_MODE, INACTIVE_MODE, INACTIVE_MODE,
    INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
    INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
    INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
    };

    static struct snd_platform_data pcm051_snd_data0 = {
    .tx_dma_offset = 0x46000000, /* McASP0 */
    .rx_dma_offset = 0x46000000,
    .op_mode = DAVINCI_MCASP_IIS_MODE,
    .num_serializer = ARRAY_SIZE(am335x_iis_serializer_direction0),
    .tdm_slots = 2,
    .serial_dir = am335x_iis_serializer_direction0,
    .asp_chan_q = EVENTQ_2, /* davinci-mcsap driver does not use it */
    .version = MCASP_VERSION_3,
    .txnumevt = 1,
    .rxnumevt = 1,
    };

    static struct mfd_tscadc_board tscadc = {
    .tsc_init = &am335x_touchscreen_data,
    };

    /* TSc initialization */
    static void am335x_tsc_init(void)
    {
    int err;

    err = am33xx_register_mfd_tscadc(&tscadc);
    if (err)
    pr_err("failed to register touchscreen device\n");
    }

    static void pcm051_modul_init(void)
    {
    am335x_nand_init(&am335x_nand_timings);

    am33xx_tps65910_init(1, -1);

    i2c_register_board_info(1, pcm051_i2c_tca8418_boardinfo, 1);

    i2c_register_board_info(1, pcm051_i2c_eeprom_boardinfo, 1);
    i2c_register_board_info(1, pcm051_i2c_rtc_boardinfo, 1);
    i2c_register_board_info(1, pcm051_i2c_audio_codec_boardinfo, 1);


    }

    static void wega_board(void)
    {
    setup_pin_mux(uart0_pin_mux);
    setup_pin_mux(uart1_pin_mux);
    setup_pin_mux(uart2_pin_mux);
    setup_pin_mux(uart3_pin_mux);
    setup_pin_mux(mmc0_cd_pin_mux);
    am335x_mmc0_init(GPIO_TO_PIN(0, 6), -1);

    am33xx_rmii1_mii2_init("0:00", "0:01");

    setup_pin_mux(usb_oc_pins_mux);
    am33xx_usb0_otg_usb1_host_init();

    setup_pin_mux(d_can1_pin_mux);
    am33xx_d_can_init(1);

    am335x_tsc_init();
    }

    static void __init peb_eval_01_init(void)
    {
    setup_pin_mux(led_pin_mux);
    setup_pin_mux(btn_pin_mux);
    platform_device_register(&leds_gpio);
    }

    static void __init peb_av_01(void)
    {
    setup_pin_mux(lcdc_pin_mux);

    if (conf_disp_pll(300000000)) {
    pr_info("Failed configure display PLL, not attempting to"
    "register LCDC\n");
    return;
    }

    am33xx_register_lcdc(&lcdc_selection_pdata);

    i2c_register_board_info(1, pcm051_peb_av_01_boardinfo, 1);
    }
    static void __init backlight_init(void)
    {
    setup_pin_mux(ecap2_pin_mux);

    am33xx_ecap2_init(100);
    }

    /* Setup McASP 0 (Multichannel Audio Serial Port) */
    static void mcasp0_init(int evm_id, int profile)
    {
    /* Configure McASP */
    setup_pin_mux(mcasp0_pin_mux);
    am335x_register_mcasp(&pcm051_snd_data0, 0);
    return;
    }

    static void __init pcm051_init(void)
    {
    am33xx_cpuidle_init();
    am33xx_mux_init(NULL);
    omap_serial_init();
    am33xx_clkout1_enable();
    omap_sdrc_init(NULL, NULL);
    /* Create an alias for icss clock */
    if (clk_add_alias("pruss", NULL, "pruss_uart_gclk", NULL))
    pr_warn("failed to create an alias: pruss_uart_gclk --> pruss\n");
    /* Create an alias for gfx/sgx clock */
    if (clk_add_alias("sgx_ck", NULL, "gfx_fclk", NULL))
    pr_warn("failed to create an alias: gfx_fclk --> sgx_ck\n");

    pcm051_modul_init();
    wega_board();
    peb_eval_01_init();
    peb_av_01();
    backlight_init();

    omap_register_i2c_bus(1, 100, NULL, 0);
    mcasp0_init(0, 0);
    }

    MACHINE_START(PCM051, "Driver_test_sled")

    .atag_offset = 0x100,
    .map_io = am33xx_map_io_set_globals,
    .init_early = am33xx_init_early,
    .init_irq = ti81xx_init_irq,
    .handle_irq = omap3_intc_handle_irq,
    .timer = &omap3_am33xx_timer,
    .init_machine = pcm051_init,
    MACHINE_END
  • Basappa Biradar24 Basappa Biradar24
    Apr 19, 2016 1:11 PM
    In reply to Basappa Biradar24:

    hi,

    Complete board file i m copying here.
    Let me know any changes is required:

    /*
    * Code for phyCORE-AM335x.
    *
    *
    *
    * Based on mach-omap2/board-am335xevm.c
    *
    * Copyright (C) 2011 Texas Instruments, Inc. - http://www.ti.com/
    *
    * This program is free software; you can redistribute it and/or
    * modify it under the terms of the GNU General Public License as
    * published by the Free Software Foundation version 2.
    *
    * This program is distributed "as is" WITHOUT ANY WARRANTY of any
    * kind, whether express or implied; without even the implied warranty
    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    * GNU General Public License for more details.
    */

    #include <linux/kernel.h>
    #include <linux/init.h>
    #include <linux/module.h>
    #include <linux/leds.h>
    #include <linux/gpio.h>
    #include <linux/input.h>
    #include <linux/i2c.h>
    #include <linux/i2c/at24.h>
    #include <linux/platform_device.h>
    #include <linux/leds.h>
    #include <linux/clk.h>
    #include <linux/err.h>
    #include <linux/export.h>
    #include <linux/mfd/tps65217.h>
    #include <linux/reboot.h>
    #include <linux/opp.h>

    #include <mach/hardware.h>

    #include <asm/mach-types.h>
    #include <asm/mach/arch.h>
    #include <asm/mach/map.h>
    #include <asm/hardware/asp.h>

    #include <plat/omap_device.h>
    #include <plat/irqs.h>
    #include <plat/board.h>
    #include <plat/common.h>
    #include <plat/nand.h>

    #include <video/da8xx-fb.h>
    #include <plat/lcdc.h>

    //#include<plat/keypad.h>


    #include "board-flash.h"
    #include "mux.h"
    #include "common.h"
    #include "am33xx_generic.h"
    #include "am33xx_devices.h"
    #include "devices.h"


    /*For TCA8418 Keypad Controller */
    #include<linux/tca8418_keypad.h>
    //#include <linux/input/matrix_keypad.h>
    #include <plat/keypad.h>

    #include <plat/mcspi.h>
    #include <linux/input/matrix_keypad.h>

    /* TSc controller */
    #include <linux/input/ti_tsc.h>
    #include <linux/mfd/ti_tscadc.h>
    #include <linux/platform_data/ti_adc.h>

    /* Pin mux for mmc0 cd */
    static struct pinmux_config mmc0_cd_pin_mux[] = {
    {"spi0_cs1.mmc0_sdcd", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };
    /* Module pin mux for uart0 */
    static struct pinmux_config uart0_pin_mux[] = {
    {"uart0_txd.uart0_txd", OMAP_MUX_MODE0 | AM33XX_PULL_ENBL},
    {"uart0_rxd.uart0_rxd", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };
    /* Pin mux for uart1 */
    static struct pinmux_config uart1_pin_mux[] = {
    {"uart1_txd.uart1_txd", OMAP_MUX_MODE0 | AM33XX_PULL_ENBL},
    {"uart1_rxd.uart1_rxd", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
    {"uart1_ctsn.uart1_ctsn", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"uart1_rtsn.uart1_rtsn", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT},
    {NULL, 0},
    };
    /* Module pin mux for uart2 */
    static struct pinmux_config uart2_pin_mux[] = {
    {"mii1_rxclk.uart2_txd_mux0", OMAP_MUX_MODE1 | AM33XX_PULL_ENBL},
    {"mii1_txclk.uart2_rxd_mux0", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };
    /* Module pin mux for uart3 */
    static struct pinmux_config uart3_pin_mux[] = {
    {"mii1_rxd2.uart3_txd_mux0", OMAP_MUX_MODE1 | AM33XX_PULL_ENBL},
    {"mii1_rxd3.uart3_rxd_mux0", OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };

    static struct pinmux_config usb_oc_pins_mux[] = {
    {"mcasp0_aclkr.gpio3_18", OMAP_MUX_MODE7 | AM33XX_PULL_ENBL |
    AM33XX_PIN_INPUT_PULLUP},
    {"mcasp0_fsr.gpio3_19", OMAP_MUX_MODE7 | AM33XX_PULL_ENBL |
    AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };

    static struct pinmux_config d_can1_pin_mux[] = {
    {"uart0_ctsn.d_can1_tx", OMAP_MUX_MODE2 | AM33XX_PULL_ENBL},
    {"uart0_rtsn.d_can1_rx", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };

    static struct pinmux_config led_pin_mux[] = {
    {"mii1_txclk.gpio3_9", OMAP_MUX_MODE7 | AM33XX_PULL_ENBL},
    {NULL, 0},
    };

    static struct pinmux_config btn_pin_mux[] = {
    {"xdma_event_intr1.gpio0_20", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
    {"ecap0_in_pwm0_out.gpio0_7", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
    {"mii1_rxclk.gpio3_10", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT_PULLUP},
    {NULL, 0},
    };

    /* Module pin mux for LCDC */
    static struct pinmux_config lcdc_pin_mux[] = {
    {"lcd_data0.lcd_data0", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data1.lcd_data1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data2.lcd_data2", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data3.lcd_data3", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data4.lcd_data4", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data5.lcd_data5", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data6.lcd_data6", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data7.lcd_data7", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data8.lcd_data8", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data9.lcd_data9", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data10.lcd_data10", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data11.lcd_data11", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data12.lcd_data12", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data13.lcd_data13", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data14.lcd_data14", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"lcd_data15.lcd_data15", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
    | AM33XX_PULL_DISA},
    {"gpmc_ad8.lcd_data16", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad9.lcd_data17", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad10.lcd_data18", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad11.lcd_data19", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad12.lcd_data20", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad13.lcd_data21", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad14.lcd_data22", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"gpmc_ad15.lcd_data23", OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
    {"lcd_vsync.lcd_vsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"lcd_hsync.lcd_hsync", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"lcd_pclk.lcd_pclk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {NULL, 0},
    };

    /* ecap2 pinmux */
    static struct pinmux_config ecap2_pin_mux[] = {
    {"gpmc_csn1.gpio1_30", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT},
    {"mcasp0_ahclkr.ecap2_in_pwm2_out", OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT},
    {NULL, 0},
    };

    /* Module pin mux for mcasp0 */
    static struct pinmux_config mcasp0_pin_mux[] = {
    {"mcasp0_aclkx.mcasp0_aclkx", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"mcasp0_fsx.mcasp0_fsx", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"mcasp0_axr0.mcasp0_axr0", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLDOWN},
    {"mcasp0_axr1.mcasp0_axr1", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"mcasp0_ahclkx.mcasp0_ahclkx", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {NULL, 0},
    };

    static struct gpmc_timings am335x_nand_timings = {

    /* granularity of 10 is sufficient because of calculations */
    .sync_clk = 0,

    .cs_on = 0,
    .cs_rd_off = 30,
    .cs_wr_off = 30,

    .adv_on = 0,
    .adv_rd_off = 30,
    .adv_wr_off = 30,

    .oe_on = 10,
    .we_off = 20,
    .oe_off = 30,

    .access = 30,
    .rd_cycle = 30,
    .wr_cycle = 30,

    .cs_cycle_delay = 50,
    .cs_delay_en = 1,
    .wr_access = 30,
    .wr_data_mux_bus = 0,
    };
    static struct at24_platform_data am335x_baseboard_eeprom_info = {
    .byte_len = (32*1024) / 8,
    .page_size = 32,
    .flags = AT24_FLAG_ADDR16,
    };



    static unsigned long int tca8418_km_data[]=
    {

    KEY(0, 0, KEY_LEFT),
    KEY(0, 1, KEY_DOWN),
    KEY(0, 2, KEY_ENTER),
    KEY(0, 3, KEY_M),

    KEY(1, 0, KEY_RIGHT),
    KEY(1, 1, KEY_UP),
    KEY(1, 2, KEY_I),
    KEY(1, 3, KEY_N),

    KEY(2, 0, KEY_A),
    KEY(2, 1, KEY_E),
    KEY(2, 2, KEY_J),
    KEY(2, 3, KEY_O),

    KEY(3, 0, KEY_B),
    KEY(3, 1, KEY_F),
    KEY(3, 2, KEY_K),
    KEY(3, 3, KEY_P)



    };


    static const struct matrix_keymap_data tca8418_mkdata =
    {
    .keymap = tca8418_km_data,
    .keymap_size = ARRAY_SIZE(tca8418_km_data)


    };


    static struct omap_kp_platform_data tca8418_pdata = {

    .keymap_data = &tca8418_mkdata,
    .rows = 4,
    .cols = 4,
    .rep = 1,
    //.irq_is_gpio =0
    };



    static struct i2c_board_info __initdata pcm051_i2c_tca8418_boardinfo[] = {
    {
    I2C_BOARD_INFO("tca8418-keypad", 0x15),
    .platform_data = &tca8418_pdata,
    },
    };




    static struct i2c_board_info __initdata pcm051_i2c_eeprom_boardinfo[] = {
    {
    I2C_BOARD_INFO("24c32", 0x52),
    .platform_data = &am335x_baseboard_eeprom_info,
    },
    };

    static struct i2c_board_info __initdata pcm051_i2c_rtc_boardinfo[] = {
    {
    I2C_BOARD_INFO("rv4162c7", 0x68),
    },
    };

    static struct i2c_board_info __initdata pcm051_i2c_audio_codec_boardinfo[] = {
    {
    I2C_BOARD_INFO("tlv320aic3007", 0x18),
    },
    };

    static struct gpio_led gpio_leds[] = {
    {
    .name = "peb_eval_01:green:led3",
    .default_trigger = "none",
    .gpio = 105,
    },
    };

    static struct gpio_led_platform_data gpio_led_info = {
    .leds = gpio_leds,
    .num_leds = ARRAY_SIZE(gpio_leds),
    };

    static struct platform_device leds_gpio = {
    .name = "leds-gpio",
    .id = -1,
    .dev = {
    .platform_data = &gpio_led_info,
    },
    };

    static struct i2c_board_info __initdata pcm051_peb_av_01_boardinfo[] = {
    {
    I2C_BOARD_INFO("tda998x", 0x34),
    },
    };

    static const struct display_panel disp_panel = {
    WVGA,
    32,
    32,
    COLOR_ACTIVE,
    };

    static struct lcd_ctrl_config lcd_cfg = {
    &disp_panel,
    .ac_bias = 40,
    .ac_bias_intrpt = 0,
    .dma_burst_sz = 16,
    .bpp = 32,
    .fdd = 0x80,
    .tft_alt_mode = 0,
    .stn_565_mode = 0,
    .mono_8bit_mode = 0,
    .invert_line_clock = 1,
    .invert_frm_clock = 1,
    .sync_edge = 0,
    .sync_ctrl = 1,
    .raster_order = 0,
    };

    static struct da8xx_lcdc_platform_data lcdc_pdata[] = {
    {
    .manu_name = "genericDVI",
    .controller_data = &lcd_cfg,
    .type = "DVI_XGA",
    }, {
    .manu_name = "genericDVI",
    .controller_data = &lcd_cfg,
    .type = "DVI_720P",
    }, {
    .manu_name = "HTdisplay",
    .controller_data = &lcd_cfg,
    .type = "HT_HT800070I",
    }, {
    .manu_name = "ZQdisplay",
    .controller_data = &lcd_cfg,
    .type = "ZQ_ZQ3506",
    }, {
    .manu_name = "NECdisplay",
    .controller_data = &lcd_cfg,
    .type = "NL4827HC19",
    },
    };

    static struct da8xx_lcdc_selection_platform_data lcdc_selection_pdata = {
    .entries_ptr = lcdc_pdata,
    .entries_cnt = ARRAY_SIZE(lcdc_pdata)
    };

    /* TSc platform data */
    static struct tsc_data am335x_touchscreen_data = {
    .wires = 4,
    .x_plate_resistance = 200,
    .steps_to_configure = 5,
    };

    static u8 am335x_iis_serializer_direction0[] = {
    RX_MODE, TX_MODE, INACTIVE_MODE, INACTIVE_MODE,
    INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
    INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
    INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
    };

    static struct snd_platform_data pcm051_snd_data0 = {
    .tx_dma_offset = 0x46000000, /* McASP0 */
    .rx_dma_offset = 0x46000000,
    .op_mode = DAVINCI_MCASP_IIS_MODE,
    .num_serializer = ARRAY_SIZE(am335x_iis_serializer_direction0),
    .tdm_slots = 2,
    .serial_dir = am335x_iis_serializer_direction0,
    .asp_chan_q = EVENTQ_2, /* davinci-mcsap driver does not use it */
    .version = MCASP_VERSION_3,
    .txnumevt = 1,
    .rxnumevt = 1,
    };

    static struct mfd_tscadc_board tscadc = {
    .tsc_init = &am335x_touchscreen_data,
    };

    /* TSc initialization */
    static void am335x_tsc_init(void)
    {
    int err;

    err = am33xx_register_mfd_tscadc(&tscadc);
    if (err)
    pr_err("failed to register touchscreen device\n");
    }

    static void pcm051_modul_init(void)
    {
    am335x_nand_init(&am335x_nand_timings);

    am33xx_tps65910_init(1, -1);

    i2c_register_board_info(1, pcm051_i2c_tca8418_boardinfo, 1);

    i2c_register_board_info(1, pcm051_i2c_eeprom_boardinfo, 1);
    i2c_register_board_info(1, pcm051_i2c_rtc_boardinfo, 1);
    i2c_register_board_info(1, pcm051_i2c_audio_codec_boardinfo, 1);


    }

    static void wega_board(void)
    {
    setup_pin_mux(uart0_pin_mux);
    setup_pin_mux(uart1_pin_mux);
    setup_pin_mux(uart2_pin_mux);
    setup_pin_mux(uart3_pin_mux);
    setup_pin_mux(mmc0_cd_pin_mux);
    am335x_mmc0_init(GPIO_TO_PIN(0, 6), -1);

    am33xx_rmii1_mii2_init("0:00", "0:01");

    setup_pin_mux(usb_oc_pins_mux);
    am33xx_usb0_otg_usb1_host_init();

    setup_pin_mux(d_can1_pin_mux);
    am33xx_d_can_init(1);

    am335x_tsc_init();
    }

    static void __init peb_eval_01_init(void)
    {
    setup_pin_mux(led_pin_mux);
    setup_pin_mux(btn_pin_mux);
    platform_device_register(&leds_gpio);
    }

    static void __init peb_av_01(void)
    {
    setup_pin_mux(lcdc_pin_mux);

    if (conf_disp_pll(300000000)) {
    pr_info("Failed configure display PLL, not attempting to"
    "register LCDC\n");
    return;
    }

    am33xx_register_lcdc(&lcdc_selection_pdata);

    i2c_register_board_info(1, pcm051_peb_av_01_boardinfo, 1);
    }
    static void __init backlight_init(void)
    {
    setup_pin_mux(ecap2_pin_mux);

    am33xx_ecap2_init(100);
    }

    /* Setup McASP 0 (Multichannel Audio Serial Port) */
    static void mcasp0_init(int evm_id, int profile)
    {
    /* Configure McASP */
    setup_pin_mux(mcasp0_pin_mux);
    am335x_register_mcasp(&pcm051_snd_data0, 0);
    return;
    }

    static void __init pcm051_init(void)
    {
    am33xx_cpuidle_init();
    am33xx_mux_init(NULL);
    omap_serial_init();
    am33xx_clkout1_enable();
    omap_sdrc_init(NULL, NULL);
    /* Create an alias for icss clock */
    if (clk_add_alias("pruss", NULL, "pruss_uart_gclk", NULL))
    pr_warn("failed to create an alias: pruss_uart_gclk --> pruss\n");
    /* Create an alias for gfx/sgx clock */
    if (clk_add_alias("sgx_ck", NULL, "gfx_fclk", NULL))
    pr_warn("failed to create an alias: gfx_fclk --> sgx_ck\n");

    pcm051_modul_init();
    wega_board();
    peb_eval_01_init();
    peb_av_01();
    backlight_init();

    omap_register_i2c_bus(1, 100, NULL, 0);
    mcasp0_init(0, 0);
    }

    MACHINE_START(PCM051, "Driver_test_sled")

    .atag_offset = 0x100,
    .map_io = am33xx_map_io_set_globals,
    .init_early = am33xx_init_early,
    .init_irq = ti81xx_init_irq,
    .handle_irq = omap3_intc_handle_irq,
    .timer = &omap3_am33xx_timer,
    .init_machine = pcm051_init,
    MACHINE_END
  • Your board file seems to be good.
    You should get the TCA8418 driver initialization log in your linux bootup log.
    Can you put one "printk" in TCA8418 driver file and rebuild the kernel then boot, now check whether you are getting that print in bootup log.

    Also put a printk in "probe" function.
  • Hi,

    Printk in the during initlization function is coming but printk inserted in probe function is not calling.

    plase boot log

    arch_number: 4144
    [ 0.000000] Linux version 3.2.0-PD13.0.0 (basappa@basappa-H81M-S) (gcc version 4.7.3 20121106 (prerelease) (OSELAS.Toolchain-2012.12.1 lina6
    [ 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: pcm051
    [ 0.000000] Memory policy: ECC disabled, Data cache writeback
    [ 0.000000] AM335X ES2.1 (sgx neon )
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
    [ 0.000000] Kernel command line: console=ttyO1,115200 ip=192.168.1.11:192.168.1.166:192.168.1.1:255.255.255.0::eth0: root=ubi0:root ubi.mtd)
    [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [ 0.000000] Memory: 512MB = 512MB total
    [ 0.000000] Memory: 513168k/513168k available, 11120k 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 : 0xe0800000 - 0xff000000 ( 488 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc059d000 (5716 kB)
    [ 0.000000] .init : 0xc059d000 - 0xc05d8000 ( 236 kB)
    [ 0.000000] .data : 0xc05d8000 - 0xc063abe8 ( 395 kB)
    [ 0.000000] .bss : 0xc063ac0c - 0xc066c4e4 ( 199 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: GPTIMER2 at 25000000 Hz
    [ 0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
    [ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
    [ 0.000000] Console: colour dummy device 80x30
    [ 0.000122] Calibrating delay loop... 597.60 BogoMIPS (lpj=2988032)
    [ 0.057678] pid_max: default: 32768 minimum: 301
    [ 0.057830] Security Framework initialized
    [ 0.057922] Mount-cache hash table entries: 512
    [ 0.058319] CPU: Testing write buffer coherency: ok
    [ 0.059143] devtmpfs: initialized
    [ 0.079132] omap_hwmod: pruss: failed to hardreset
    [ 0.080352] print_constraints: dummy:
    [ 0.080749] NET: Registered protocol family 16
    [ 0.083160] OMAP GPIO hardware version 0.1
    [ 0.086120] omap_mux_init: Add partition: #1: core, flags: 0
    [ 0.089385] omap_hsmmc.0: alias fck already exists
    [ 0.090881] d_can.1: alias fck already exists
    [ 0.092010] da8xx_lcdc.0: alias fck already exists
    [ 0.092803] omap_i2c.1: alias fck already exists
    [ 0.093139] davinci-mcasp.0: alias fck already exists
    [ 0.093658] omap2_mcspi.1: alias fck already exists
    [ 0.093902] omap2_mcspi.2: alias fck already exists
    [ 0.094207] edma.0: alias fck already exists
    [ 0.094238] edma.0: alias fck already exists
    [ 0.094268] edma.0: alias fck already exists
    [ 0.119567] bio: create slab <bio-0> at 0
    [ 0.121856] SCSI subsystem initialized
    [ 0.123718] usbcore: registered new interface driver usbfs
    [ 0.124084] usbcore: registered new interface driver hub
    [ 0.124298] usbcore: registered new device driver usb
    [ 0.124481] musb-ti81xx musb-ti81xx: musb0, board_mode=0x13, plat_mode=0x3
    [ 0.124786] musb-ti81xx musb-ti81xx: musb1, board_mode=0x13, plat_mode=0x1
    [ 0.125823] TCA 8418 initialization :
    [ 0.125823] TCA 8418 initialization :
    [ 0.126281] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
    [ 0.127319] tps65910 1-002d: JTAGREVNUM 0x1
    [ 0.130462] print_constraints: VRTC:
    [ 0.131927] print_constraints: VIO: at 1500 mV
    [ 0.134246] print_constraints: VDD1: 600 <--> 1500 mV at 1100 mV normal
    [ 0.136505] print_constraints: VDD2: at 1100 mV
    [ 0.137542] print_constraints: VDD3: 5000 mV
    [ 0.138946] print_constraints: VDIG1: at 1800 mV
    [ 0.140411] print_constraints: VDIG2: at 1800 mV
    [ 0.141845] print_constraints: VPLL: at 1800 mV
    [ 0.143280] print_constraints: VDAC: at 1800 mV
    [ 0.144714] print_constraints: VAUX1: at 1800 mV
    [ 0.146179] print_constraints: VAUX2: at 3300 mV
    [ 0.147644] print_constraints: VAUX33: at 3300 mV
    [ 0.149047] print_constraints: VMMC: at 3300 mV
    [ 0.149383] tps65910 1-002d: No interrupt support, no core IRQ
    [ 0.151672] Advanced Linux Sound Architecture Driver Version 1.0.24.
    [ 0.153167] cfg80211: Calling CRDA to update world regulatory domain
    [ 0.154449] Switching to clocksource gp timer
    [ 0.175262] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
    [ 0.175476] musb-hdrc musb-hdrc.0: dma type: pio
    [ 0.175842] MUSB0 controller's USBSS revision = 4ea20800
    [ 0.175842] musb0: Enabled SW babble control
    [ 0.176513] musb-hdrc musb-hdrc.0: USB OTG mode controller at e083c000 using PIO, IRQ 18
    [ 0.176666] musb-hdrc musb-hdrc.1: dma type: pio
    [ 0.177001] MUSB1 controller's USBSS revision = 4ea20800
    [ 0.177032] musb1: Enabled SW babble control
    [ 0.177154] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    [ 0.177246] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
    [ 0.177368] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [ 0.177398] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [ 0.177398] usb usb1: Product: MUSB HDRC host driver
    [ 0.177398] usb usb1: Manufacturer: Linux 3.2.0-PD13.0.0 musb-hcd
    [ 0.177429] usb usb1: SerialNumber: musb-hdrc.1
    [ 0.178344] hub 1-0:1.0: USB hub found
    [ 0.178375] hub 1-0:1.0: 1 port detected
    [ 0.179016] musb-hdrc musb-hdrc.1: USB Host mode controller at e083e800 using PIO, IRQ 19
    [ 0.179504] NET: Registered protocol family 2
    [ 0.179687] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.180023] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
    [ 0.180389] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
    [ 0.180572] TCP: Hash tables configured (established 16384 bind 16384)
    [ 0.180603] TCP reno registered
    [ 0.180603] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.180633] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.180877] NET: Registered protocol family 1
    [ 0.181152] RPC: Registered named UNIX socket transport module.
    [ 0.181182] RPC: Registered udp transport module.
    [ 0.181182] RPC: Registered tcp transport module.
    [ 0.181213] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.181457] NetWinder Floating Point Emulator V0.97 (double precision)
    [ 0.181671] omap-gpmc omap-gpmc: GPMC revision 6.0
    [ 0.181701] Registering NAND on CS0
    [ 0.203094] VFS: Disk quotas dquot_6.5.2
    [ 0.203186] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [ 0.203735] JFFS2 version 2.2. (NAND) (SUMMARY) �© 2001-2006 Red Hat, Inc.
    [ 0.204071] msgmni has been set to 1002
    [ 0.204986] io scheduler noop registered
    [ 0.205017] io scheduler deadline registered
    [ 0.205078] io scheduler cfq registered (default)
    [ 0.207885] da8xx_lcdc da8xx_lcdc.0: GLCD: Found IDK-1110R-23SVA1E panel
    [ 0.228515] Console: switching to colour frame buffer device 100x37
    [ 0.240905] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [ 0.242919] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
    [ 0.243438] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    [ 0.973358] console [ttyO1] enabled
    [ 0.977661] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    [ 0.985504] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    [ 0.993225] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    [ 1.001037] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    [ 1.020294] brd: module loaded
    [ 1.029541] loop: module loaded
    [ 1.032989] i2c-core: driver [tsl2550] using legacy suspend method
    [ 1.039398] i2c-core: driver [tsl2550] using legacy resume method
    [ 1.045806] at24 1-0052: 4096 byte 24c32 EEPROM, writable, 32 bytes/write
    [ 1.056243] omap2-nand driver initializing
    [ 1.060821] ONFI flash detected
    [ 1.064147] ONFI param page 0 valid
    [ 1.067810] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron MT29F1G08ABADAH4)
    [ 1.076141] 8 cmdlinepart partitions found on MTD device omap2-nand.0
    [ 1.082763] Creating 8 MTD partitions on "omap2-nand.0":
    [ 1.088256] 0x000000000000-0x000000020000 : "nand0.xload"
    [ 1.095764] 0x000000020000-0x000000040000 : "nand0.xload_backup1"
    [ 1.103698] 0x000000040000-0x000000060000 : "nand0.xload_backup2"
    [ 1.111663] 0x000000060000-0x000000080000 : "nand0.xload_backup3"
    [ 1.119720] 0x000000080000-0x000000100000 : "nand0.barebox"
    [ 1.127532] 0x000000100000-0x000000120000 : "nand0.bareboxenv"
    [ 1.135192] 0x000000120000-0x000000920000 : "nand0.kernel"
    [ 1.148986] 0x000000920000-0x000008000000 : "nand0.root"
    [ 1.254638] OneNAND driver initializing
    [ 1.259552] UBI: attaching mtd7 to ubi0
    [ 1.263519] UBI: physical eraseblock size: 131072 bytes (128 KiB)
    [ 1.270019] UBI: logical eraseblock size: 126976 bytes
    [ 1.275573] UBI: smallest flash I/O unit: 2048
    [ 1.280426] UBI: VID header offset: 2048 (aligned 2048)
    [ 1.286651] UBI: data offset: 4096
    [ 1.816528] UBI: max. sequence number: 355
    [ 1.829498] UBI: attached mtd7 to ubi0
    [ 1.833404] UBI: MTD device name: "nand0.root"
    [ 1.838989] UBI: MTD device size: 118 MiB
    [ 1.844116] UBI: number of good PEBs: 951
    [ 1.848907] UBI: number of bad PEBs: 0
    [ 1.853485] UBI: number of corrupted PEBs: 0
    [ 1.858062] UBI: max. allowed volumes: 128
    [ 1.862854] UBI: wear-leveling threshold: 4096
    [ 1.867706] UBI: number of internal volumes: 1
    [ 1.872283] UBI: number of user volumes: 1
    [ 1.876861] UBI: available PEBs: 0
    [ 1.881469] UBI: total number of reserved PEBs: 951
    [ 1.886505] UBI: number of PEBs reserved for bad PEB handling: 9
    [ 1.892700] UBI: max/mean erase counter: 3/1
    [ 1.897125] UBI: image sequence number: 36270686
    [ 1.902099] UBI: background thread "ubi_bgt0d" started, PID 546
    [ 1.908935] CAN device driver interface
    [ 1.912902] CAN bus driver for Bosch D_CAN controller 1.0
    [ 1.919464] d_can d_can.1: device registered (irq=55, irq_obj=56)
    [ 1.975097] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    [ 1.981506] davinci_mdio davinci_mdio.0: detected phy mask fffffffc
    [ 1.989349] davinci_mdio.0: probed
    [ 1.992889] davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver SMSC LAN8710/LAN8720
    [ 2.001342] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver SMSC LAN8710/LAN8720
    [ 2.010253] usbcore: registered new interface driver cdc_ether
    [ 2.016479] usbcore: registered new interface driver cdc_subset
    [ 2.022644] Initializing USB Mass Storage driver...
    [ 2.027984] usbcore: registered new interface driver usb-storage
    [ 2.034179] USB Mass Storage support registered.
    [ 2.039398] usbcore: registered new interface driver usbserial
    [ 2.045410] usbserial: USB Serial Driver core
    [ 2.050598] mousedev: PS/2 mouse device common for all mice
    [ 2.057495] input: ti-tsc as /devices/platform/omap/ti_tscadc/tsc/input/input0
    [ 2.065856] rtc-m41t80 1-0068: chip found, driver version 0.05
    [ 2.073425] rtc-m41t80 1-0068: rtc core: registered rv4162c7 as rtc0
    [ 2.081573] i2c /dev entries driver
    [ 2.086029] lirc_dev: IR Remote Control driver registered, major 251
    [ 2.092681] IR NEC protocol handler initialized
    [ 2.097381] IR RC5(x) protocol handler initialized
    [ 2.102325] IR RC6 protocol handler initialized
    [ 2.107025] IR JVC protocol handler initialized
    [ 2.111694] IR Sony protocol handler initialized
    [ 2.116455] IR RC5 (streamzap) protocol handler initialized
    [ 2.122222] IR MCE Keyboard/mouse protocol handler initialized
    [ 2.128234] IR LIRC bridge handler initialized
    [ 2.132812] Linux video capture interface: v2.00
    [ 2.138000] usbcore: registered new interface driver uvcvideo
    [ 2.143920] USB Video Class driver (1.1.1)
    [ 2.150543] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [ 2.159210] cpuidle: using governor ladder
    [ 2.164001] cpuidle: using governor menu
    [ 2.173614] usbcore: registered new interface driver usbhid
    [ 2.179443] usbhid: USB HID core driver
    [ 2.186004] _regulator_get: 1-0018 supply IOVDD not found, using dummy regulator
    [ 2.193695] _regulator_get: 1-0018 supply DVDD not found, using dummy regulator
    [ 2.201354] _regulator_get: 1-0018 supply AVDD not found, using dummy regulator
    [ 2.208953] _regulator_get: 1-0018 supply DRVDD not found, using dummy regulator
    [ 2.219787] asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
    [ 2.227783] ALSA device list:
    [ 2.230865] #0: PCM051
    [ 2.233459] oprofile: hardware counters not available
    [ 2.238708] oprofile: using timer interrupt.
    [ 2.243164] nf_conntrack version 0.5.0 (8018 buckets, 32072 max)
    [ 2.250030] ip_tables: (C) 2000-2006 Netfilter Core Team
    [ 2.255676] TCP cubic registered
    [ 2.259002] NET: Registered protocol family 17
    [ 2.263610] can: controller area network core (rev 20090105 abi 8)
    [ 2.270111] NET: Registered protocol family 29
    [ 2.274719] can: raw protocol (rev 20090105)
    [ 2.279144] can: broadcast manager protocol (rev 20090105 t)
    [ 2.285034] Registering the dns_resolver key type
    [ 2.289978] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 2.297912] ThumbEE CPU extension supported.
    [ 2.303131] Power Management for AM33XX family
    [ 2.314392] Detected MACID=20:cd:39:ff:62:ef
    [ 2.320098] cpsw: Detected MACID = 20:cd:39:ff:62:f1
    [ 2.327514] rtc-m41t80 1-0068: hctosys: unable to read the hardware clock
    [ 2.339355] net eth0: CPSW phy found : id is : 0x7c0f1
    [ 3.365600] IP-Config: Complete:
    [ 3.368927] device=eth0, addr=192.168.1.11, mask=255.255.255.0, gw=192.168.1.1,
    [ 3.376770] host=192.168.1.11, domain=, nis-domain=(none),
    [ 3.382873] bootserver=192.168.1.166, rootserver=192.168.1.166, rootpath=
    [ 3.465026] UBIFS: mounted UBI device 0, volume 0, name "root"
    [ 3.471130] UBIFS: file system size: 117706752 bytes (114948 KiB, 112 MiB, 927 LEBs)
    [ 3.479339] UBIFS: journal size: 9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
    [ 3.486877] UBIFS: media format: w4/r0 (latest is w4/r0)
    [ 3.492919] UBIFS: default compressor: lzo
    [ 3.497161] UBIFS: reserved for root: 0 bytes (0 KiB)
    [ 3.503295] VFS: Mounted root (ubifs filesystem) on device 0:14.
    [ 3.511474] devtmpfs: mounted
    [ 3.515380] Freeing init memory: 236K
    init started: BusyBox v1.20.2 (2014-04-18 12:21:11 IST)
    starting pid 642, tty '/dev/console': '/etc/init.d/rcS'
    mounting filesystems...done.
    running rc.d services...
    starting udev
    creating static nodes
    starting udevd...done
    [ 3.890258] udevd[657]: starting version 182
    waiting for devices...done
    syslogd starting
    klogd starting
    crond starting
    Starting system message bus: dbus.
    hwclock: RTC_RD_TIME: Invalid argument
    starting sshd...done
    Starting telnetd...
    restoring mixer state.../usr/sbin/alsactl: parse:1655: Unable to open file '/usr/share/alsa/init/00main': No such file or directory
    done
    starting network interfaces...
    RTNETLINK answers: File exists
    [ 5.112854] net eth1: CPSW phy found : id is : 0x7c0f1
    [ 5.144226] d_can d_can.1: can0: setting CAN BT = 0x209
    [ 5.209716] tda998x 1-0034: Error -121 writing to cec:0xff
    [ 5.217681] dummy 1-0070: Error -121 writing to REG_CURPAGE
    [ 5.223541] dummy 1-0070: Error -121 reading from 0xa
    [ 5.229156] dummy 1-0070: Error -121 writing to 0xa
    [ 5.285278] dummy 1-0070: Error -121 reading from 0xa
    [ 5.305145] dummy 1-0070: Error -121 writing to 0xa
    [ 5.335662] PHY: 0:00 - Link is Up - 100/Full
    [ 5.365295] dummy 1-0070: Error -121 reading from 0x1
    [ 5.385131] dummy 1-0070: Error -121 writing to 0x1
    [ 5.405151] dummy 1-0070: Error -121 reading from 0x1
    [ 5.425140] dummy 1-0070: Error -121 writing to 0x1
    [ 5.445129] dummy 1-0070: Error -121 writing to REG_CURPAGE
    [ 5.465118] dummy 1-0070: Error -121 writing to 0x201
    [ 5.485137] dummy 1-0070: Error -121 writing to REG_CURPAGE
    [ 5.505126] dummy 1-0070: Error -121 writing to 0x27
    [ 5.525146] dummy 1-0070: Error -121 reading from 0x0
    [ 5.531066] dummy 1-0070: Error -121 reading from 0x2
    [ 5.536285] found unsupported device: 0000
    /etc/rc.d/S60dvi_startup: line 34: can't create /sys/module/tda998x_drv/drivers/i2c:tda998x/1-0034//h_active: nonexistent directory
    /etc/rc.d/S60dvi_startup: line 34: can't create /sys/module/tda998x_drv/drivers/i2c:tda998x/1-0034//v_active: nonexistent directory
    /etc/rc.d/S60dvi_startup: line 34: can't create /sys/module/tda998x_drv/drivers/i2c:tda998x/1-0034//h_fporch: nonexistent directory
    /etc/rc.d/S60dvi_startup: line 34: can't create /sys/module/tda998x_drv/drivers/i2c:tda998x/1-0034//h_bporch: nonexistent directory
    /etc/rc.d/S60dvi_startup: line 34: can't create /sys/module/tda998x_drv/drivers/i2c:tda998x/1-0034//h_syncpw: nonexistent directory
    /etc/rc.d/S60dvi_startup: line 34: can't create /sys/module/tda998x_drv/drivers/i2c:tda998x/1-0034//v_fporch: nonexistent directory
    /etc/rc.d/S60dvi_startup: line 34: can't create /sys/module/tda998x_drv/drivers/i2c:tda998x/1-0034//v_bporch: nonexistent directory
    /etc/rc.d/S60dvi_startup: line 34: can't create /sys/module/tda998x_drv/drivers/i2c:tda998x/1-0034//h_syncpw: nonexistent directory
    /etc/rc.d/S60dvi_startup: line 34: can't create /sys/module/tda998x_drv/drivers/i2c:tda998x/1-0034//v_syncpw: nonexistent directory
  • Sounds like the platform data is not at all linked to driver.
    So, you may have to modify the board file to register the TC!8418 driver with "platform_device_register" API.