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.

AM3354: Board ID bypass

Part Number: AM3354
Other Parts Discussed in Thread: AM3352, TPS65217

Hi,

     Master chip: AM3354BZCZ100

     SDK : ti-processor-sdk-linux-am335x-evm-03.03.00.04-Linux-x86-Install.bin

     Compile options for boneblack.

     UBoot compile command:

     make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_boneblack_defconfig all

     Kernel compile command:

     make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am335x-evm_defconfig

     make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x-boneblack.dtb
     make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage

     The development board is custom made by our company, without welding EEPROM chip, so it can't read BOARD ID on hardware.

      In the uboot and kernel stage, how to remove the EEPORM, so that the board is recognized as boneblack  ??

BR 

Andre

  • The software team have been notified. They will respond here.
  • Hello Andre,

    Please, apply this patch.

    Best regards,
    Kemal

  • Hi,
    Thank you very much, your connection is very helpful to me.
    The uboot phase is up now, but an error occurred while starting the kernel.
    Kernel phase is how to get rid of EEPORM, the card recognized as boneblack?

    BR
    Andre
  • The EEPROM is used in U-Boot stage to choose and pass the correct device tree to the kernel. Then it is no longer used except if you don't have a 3-rd party programs which accesses and uses it.

    If you are seeing EEPROM probe error messages in the kernel log because of absent of EEPROM on your board. Please, disable the EEPROM support in kernel configuration.
    ARCH=arm make menuconfig
    Device Drivers  ---> Misc devices  ---> EEPROM support  ---> < > I2C EEPROMs / RAMs / ROMs from most vendors

  • Hi,

       Thanks for your help.

       uboot and the kernel have been modified as you suggested. But start the kernel error, as shown below:

        

        Our custom-made boards use flying leads to read BeagleBone Black's EEPROM, and our board starts up normally.

        But to remove the fly, it reported the above error.

        Is there any way in the case of not welding EEPROM, the board can start normally ??

    BR 

    Andre

  • Can you post the complete boot log, to see what you have done?
  • Hi,
    Thanks for your help.

    U-Boot SPL 2016.05-00319-gcf14e63-dirty (Nov 23 2017 - 18:21:48)
    from MMC1
    Card doesn't support part_switch
    MMC partition switch failed
    *** Warning - MMC partition switch failed, using default environment

    reading u-boot.img
    reading u-boot.img

    U-Boot 2016.05-00319-gcf14e63-dirty (Nov 23 2017 - 18:21:48 +0800)

    CPU : AM335X-GP rev 2.1
    Watchdog enabled
    I2C: ready
    DRAM: 512 MiB
    bone_lt()@@@
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    ** First descriptor is NOT a primary desc on 1:1 **
    *** Warning - bad CRC, using default environment

    #############
    ==ep1 =A335BNLT
    ==ep2 =A335BNLT
    <ethaddr> not set. Validating first E-fuse MAC
    Net: Could not get PHY for cpsw: addr 0
    cpsw, usb_ether
    Press SPACE to abort autoboot in 2 seconds
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    ** Unable to read file uEnv.txt **
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    3473456 bytes read in 511 ms (6.5 MiB/s)
    36379 bytes read in 63 ms (563.5 KiB/s)
    Kernel image @ 0x82000000 [ 0x000000 - 0x350030 ]
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8fff4000, end 8ffffe1a ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Initializing cgroup subsys cpu
    [ 0.000000] Initializing cgroup subsys cpuacct
    [ 0.000000] Linux version 4.4.41-gf9f6f0db2d (andre@ubuntu) (gcc version 5.3.1 20160113 (Linaro GCC 5.3d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] Machine model: TI AM335x BeagleBone Black
    [ 0.000000] cma: Reserved 48 MiB at 0x9d000000
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (sgx neon )
    [ 0.000000] Built 1 zonelists in Zone ordode, 317K rwdata, 2344K rodata, 268K init, 265K bss, 15132K re)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3000] lowmem : 0xc0000000 - 0xe0000000 ( 51)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc08c4004 (8945 kB)
    [ 0.000000] 8000 - 0xc0957430 ( 318 kB)
    [ 0.000000] .bss : 0xc0957430 - 0xc0999b58 ( 266 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [ 0.000000] Preemptible hierarchical RCU implementation.
    [ 0.000000] Build-time adjustment of leaf fanout to 32.
    [ 0.000000] NR_IRQS:16 nr_irqs:16 16
    [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [ 0.000000] OMAion 41ns, wraps every 89478484971ns
    [ 0.000079] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000105] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000484] clocksource_probe: no matching clocksources found
    [ 0.000819] Console: colour dummy device 80x30
    [ 0.000873] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.000889] This ensures that you still see kernel messages. Please
    [ 0.000903] update your kernel commandline.
    [ 0.000936] Calibrating delay loop... 298.59 BogoMIPS (lpj=1492992)
    [ 0.067723] pid_max: default: 32768 minimum: 301
    [ 0.068009] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.068037] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.069509] Initializing cgroup subsys io
    [ 0.069570] Initializing cgroup subsys memory
    [ 0.069642] Initializing cgroup subsys devices
    [ 0.069677] Initializing cgroup subsys freezer
    [ 0.069708] Initializing cgroup subsys perf_event
    [ 0.069737] Initializing cgroup subsys pids
    [ 0.069799] CPU: Testing write buffer coherency: ok
    [ 0.070491] Setting up static identity map for 0x800082c0 - 0x80008320
    [ 0.075575] devtmpfs: initialized
    [ 0.104701] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 0.137530] omap_hwmod: debugss: _wait_target_disable failed
    [ 0.203353] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 191126044627500s
    [ 0ily 16
    [ 0.219135] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.247808] cpuidle: using governor ladder
    [ 0.277793] cpuidle: using governor menu
    [ 0.288515] OMAP GPIO hardware version 0.1
    [ 0.313137] hw-breakpoint: debug architectur 0.387168] omap_i2c 44e0b000.i2c: could not find pctldeve
    [ 0.387288] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pin>
    [ 0.388119] PTP clock support registered
    [ 0.388264] EDAC MC: Ver: 3.0.0
    [ 0.390783] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.391572] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.394067] clocksource: Switched to clocksource timer1
    [ 0.421091] NET: Registered protocol family 2
    [ 0.422738] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.422876] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.422996] TCP: Hash tables configured (established 4096 bind 4096)
    [ 0.423150] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.423201] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.423527] NET: Registered protocol family 1
    [ 0.424423] RPC: Registered named UNIX socket transport module.
    [ 0.424456] RPC: Registered udp transport module.
    [ 0.424473] RPC: Registered tcp transport module.
    [ 0.424490] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.426288] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [ 0.430678] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 0.451807] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.453904] NFS: Registering the id_resolver key type
    [ 0.27] ntfs: driver 2.1.32 [Flags: R/O].
    [ 0.462120] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [ 0.462180] io scheduler noop registered
    [ 0.462214] io scheduler deadline registered
    [ 0.462595] io scheduler cfq registe27034] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [ 0.636522] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a 8250
    [ 1.245938] console [ttyS0] enabled
    [ 1.251832] [drm] Initialized drm 1.1.0 20060810
    [ 1.275062] loop: module loaded
    [ 1.286287] libphy: Fixed MDIO Bus: probed
    [ 1.354200] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [ 1.360373] davinci_mdio 4a101000.mdio: detected phy mask fffffffd
    [ 1.368167] libphy: 4a101000.mdio: probed
    [ 1.372245] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio: Detected MACID = d0:ff:50:31:f4:29
    [ 1.390613] cpsw 4a100000.ethernet: cpts: overflow check period 850
    [ 1.400831] mousedev: PS/2 mouse device common for all mice
    [ 1.407894] i2c /dev entries driver
    [ 1.413914] cpuidle: enable-method property 'ti,am3352' found operations
    [ 1.422605] omap_hsmmc 48060000.mmc: Got CD GPIO
    [ 1.501940] mmc0: host does not support reading read-only switch, assuming write-enable
    [ 1.513520] ledtrig-cpu: registered to indicate activity on CPUs
    [ 1.521870] mmc0: Problem switching card into high-speed mode!
    [ 1.531221] mmc0: new SDHC card at address 0001
    [ 1.538898] NET: Registered protocol family 10
    [ 1.546155] mmcblk0: mmc0:0001 ASTC 7.50 GiB
    [ 1.552924] sit: IPv6 over IPv4 tunneling driver
    [ 1.560222] mmcblk0: p1 p2
    [ 1.563968] NET: Registered protocol family 17
    [ 1.572150] Key type dns_resolver registered
    [ 1.579315] omap_voltage_late_init: Voltage driver support not added
    [ 1.617149] mmc1: MAN_BKOPS_EN bit is not set
    [ 1.626070] mmc1: new high speed MMC card at address 0001
    [ 1.635674] mmcblk1: mmc1:0001 M8G1GC 7.28 GiB
    [ 1.642395] tps65217 0-0024: TPS65217 ID 0x6 version 1.2
    [ 1.648173] mmcblk1boot0: mmc1:0001 M8G1GC partition 1 4.00 MiB
    [ 1.657807] dummy 0-0034: Error -121 writing to cec:0xff
    [ 1.663684] mmcblk1boot1: mmc1:0001 M8G1GC partition 2 4.00 MiB
    [ 1.669958] tda998x 0-0070: set_page 000a err -121
    [ 1.734219] tda998x 0-0070: set_page 000a err -121
    [ 1.794196] tda998x 0-0070: set_page 0001 err -121
    [ 1.799108] tda998x 0-0070: set_page 0001 err -121
    [ 1.804010] tda998x 0-0070: set_page 0200 err -121
    [ 1.808957] tda998x 0-0070: set_page 0201 err -121
    [ 1.813869] tda998x 0-0070: set_page 0202 err -121
    [ 1.818820] tda998x 0-0070: set_page 0203 err -121
    [ 1.823729] tda998x 0-0070: set_page 0204 err -121
    [ 1.828667] tda998x 0-0070: set_page 0205 err -121
    [ 1.833566] tda998x 0-0070: set_page 020e err -121
    [ 1.838501] tda998x 0-0070: set_page 0211 err -121
    [ 1.843400] tda998x 0-0070: set_page 0207 err -121
    [ 1.848334] tda998x 0-0070: set_page 0208 err -121
    [ 1.853231] tda998x 0-0070: set_page 0209 err -121
    [ 1.858166] tda998x 0-0070: set_page 020a err -121
    [ 1.863064] tda998x 0-0070: set_page 0206 err -121
    [ 1.867999] tda998x 0-0070: set_page 0027 err -121
    [ 1.872898] tda998x 0-0070: set_page 0000 err -121
    [ 1.877833] tda998x 0-0070: set_page 0002 err -121
    [ 1.882947] tilcdc 4830e000.lcdc: failed to bind 0-0070 (ops tda998x_ops): -6
    [ 1.890305] ------------[ cut here ]------------
    [ 1.895102] WARNING: CPU: 0 PID: 41 at drivers/base/component.c:356 component_unbind+0x68/0x70()
    [ 1.903940] Modules linked in:
    [ 1.907138] CPU: 0 PID: 41 Comm: kworker/u2:1 Not tainted 4.4.41-gf9f6f0db2d #142
    [ 1.914744] Hardware name: Generic AM33XX (Flattened Device Tree)
    [ 1.920903] Workqueue: deferwq deferred_probe_work_func
    [ 1.926210] Backtrace:
    [ 1.928727] [<c0013588>] (dump_backtrace) from [<c0013784>] (show_stack+0x18/0x1c)
    [ 1.936378] r7:c03de56c r6:00000164 r5:00000009 r4:00000000
    [ 1.942147] [<c001376c>] (show_stack) from [<c02a8d88>] (dump_stack+0x24/0x28)
    [ 1.949474] [<c02a8d64>] (dump_stack) from [<c0032044>] (warn_slowpath_common+0x88/0xb4)
    [ 1.957665] [<c0031fbc>] (warn_slowpath_common) from [<c0032114>] (warn_slowpath_null+0x24/0x2c)
    [ 1.966530] r8:dc112200 r7:c093d618 r6:dc4dc000 r5:dc338780 r4:dc4a5880
    [ 1.973354] [<c00320f0>] (warn_slowpath_null) from [<c03de56c>] (component_unbind+0x68/0x70)
    [ 1.981893] [<c03de504>] (component_unbind) from [<c03de5f0>] (component_unbind_all+0x7c/0xac)
    [ 1.990584] r5:dc4a5880 r4:dc338780
    [ 1.994258] [<c03de574>] (component_unbind_all) from [<c03dbd20>] (tilcdc_load+0x4e4/0x690)
    [ 2.002656] r7:c093d618 r6:fffffffa r5:dc43be50 r4:dc4dc000
    [ 2.008472] [<c03db83c>] (tilcdc_load) from [<c039309c>] (drm_dev_register+0xb0/0xc0)
    [ 2.016380] r10:c09475bc r9:00000000 r8:dc4a5880 r7:c093d4f0 r6:00000000 r5:00000000
    [ 2.024352] r4:dc4dc000
    [ 2.026937] [<c0392fec>] (drm_dev_register) from [<c0395138>] (drm_platform_init+0x4c/0xe4)
    [ 2.035366] r7:c093d4f0 r6:dc4dc000 r5:dc112200 r4:c098c374
    [ 2.041127] [<c03950ec>] (drm_platform_init) from [<c03db53c>] (tilcdc_bind+0x18/0x20)
    [ 2.049121] r7:dc338750 r6:dc338780 r5:00000001 r4:dc338758
    [ 2.054918] [<c03db524>] (tilcdc_bind) from [<c03de9a8>] (try_to_bring_up_master.part.0+0xd4/0x114)
    [ 2.064034] [<c03de8d4>] (try_to_bring_up_master.part.0) from [<c03debc0>] (component_add+0x98/0xf4)
    [ 2.073249] r9:00000000 r8:dc4a4a04 r7:dc4a5880 r6:c093d85c r5:00000000 r4:dc338780
    [ 2.081151] [<c03deb28>] (component_add) from [<c03dceec>] (tda998x_probe+0x18/0x20)
    [ 2.088970] r7:c03dced4 r6:dc4a4a00 r5:dc4a4a20 r4:c093d818
    [ 2.094775] [<c03dced4>] (tda998x_probe) from [<c0489400>] (i2c_device_probe+0x180/0x1fc)
    [ 2.103019] [<c0489280>] (i2c_device_probe) from [<c03e38b8>] (driver_probe_device+0x204/0x2f8)
    [ 2.111798] r9:00000000 r8:00000003 r7:c093d7c4 r6:00000000 r5:dc4a4a20 r4:c098f288
    [ 2.119702] [<c03e36b4>] (driver_probe_device) from [<c03e3ad0>] (__device_attach_driver+0x8c/0xb4)
    [ 2.128829] r9:00000000 r8:c098f264 r7:00000001 r6:dc4a4a20 r5:dc409bd0 r4:c093d7c4
    [ 2.136734] [<c03e3a44>] (__device_attach_driver) from [<c03e1a80>] (bus_for_each_drv+0x68/0x9c)
    [ 2.145599] r7:00000001 r6:c03e3a44 r5:dc409bd0 r4:00000000
    [ 2.151359] [<c03e1a18>] (bus_for_each_drv) from [<c03e360c>] (__device_attach+0xb8/0x11c)
    [ 2.159700] r6:dc4a4a54 r5:dc4a4a20 r4:dc4a4a20
    [ 2.164433] [<c03e3554>] (__device_attach) from [<c03e3b44>] (device_initial_probe+0x14/0x18)
    [ 2.173004] r7:00000000 r6:c09475ec r5:dc4a4a20 r4:dc4a4a28
    [ 2.178798] [<c03e3b30>] (device_initial_probe) from [<c03e2b24>] (bus_probe_device+0x8c/0x94)
    [ 2.187511] [<c03e2a98>] (bus_probe_device) from [<c03e0c38>] (device_add+0x3f4/0x57c)
    [ 2.195503] r7:00000000 r6:dc4a4a20 r5:dc467078 r4:dc4a4a28
    [ 2.201268] [<c03e0844>] (device_add) from [<c03e0ddc>] (device_register+0x1c/0x20)
    [ 2.208999] r10:00000009 r9:dc4a4a20 r8:dc467078 r7:dc4a4a04 r6:dc467050 r5:dc409ccc
    [ 2.216972] r4:dc4a4a20
    [ 2.219559] [<c03e0dc0>] (device_register) from [<c048b138>] (i2c_new_device+0x160/0x1a8)
    [ 2.227816] r5:dc409ccc r4:dc4a4a00
    [ 2.231461] [<c048afd8>] (i2c_new_device) from [<c048b598>] (of_i2c_register_device+0xfc/0x198)
    [ 2.240244] r9:0000000b r8:00000003 r7:00000000 r6:dc467078 r5:dc467050 r4:dcb5529c
    [ 2.248157] [<c048b49c>] (of_i2c_register_device) from [<c048b8d8>] (i2c_register_adapter+0x1a0/0x35c)
    [ 2.257547] r5:dcb5529c r4:dc467050
    [ 2.261195] [<c048b738>] (i2c_register_adapter) from [<c048baf0>] (__i2c_add_numbered_adapter+0x5c/0x7c)
    [ 2.270758] r9:0000000b r8:00000003 r7:00000000 r6:dc0fbc10 r5:dc467050 r4:00000000
    [ 2.278665] [<c048ba94>] (__i2c_add_numbered_adapter) from [<c048bbb0>] (i2c_add_adapter+0xa0/0xac)


    BR
    Andre
  • So, you got some progress here. Beside the EEPROM, do you have tda19988 on that board?

  • Hi,
    Thank you for helping me find the problem.
    Our own board has no tda19988, no EEPROM, but the BeagleBone Black board has tda19988 and EEPROM.
    How can I solve this problem?

    BR
    Andre
  • Remove the tda19988 node and its relations from the device tree file.
  • Hi,
    The board is up now.
    Thank you again for your help. Thanks very much.

    BR
    Andre
  • It is my pleasure. You are welcome.