[SOLVED]BeagleBone Black DT overlay : symbol 'ocp'

This forum is for supported devices using an ARMv7 Texas Instruments (TI) SoC.

[SOLVED]BeagleBone Black DT overlay : symbol 'ocp'

Postby tw00084811 » Sat Oct 05, 2013 2:48 pm

Just got my BBB 2 days ago, and immediately replace Angstrom with ArchLinux ARM following the procedures on the BBB page, and it boots up without any problems. I have a BeagleBone White works flawlessly with Archlinux ARM, but I am a total noob to Device Tree, so when I try to enable the GPIO following the video made by Derek Molloy, something is wrong.

First, I tried to compile DM-GPIO-Test.dts
$this->bbcode_second_pass_code('', '
/*
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Purpose License Version 2 as
* published by the Free Software Foundation
*
* Original from: github.com/jadonk/validation-scripts/blob/master/test-capemgr/
*
* Modified by Derek Molloy for the example on www.derekmolloy.ie
* that maps GPIO pins for the example
*/

/dts-v1/;
/plugin/;

/{
compatible = "ti,beaglebone", "ti,beaglebone-black";
part-number = "DM-GPIO-Test";
version = "00A0";

fragment@0 {
target = <&am33xx_pinmux>;

__overlay__ {
pinctrl_test: DM_GPIO_Test_Pins {
pinctrl-single,pins = <

0x078 0x07 /* P9_12 60 OUTPUT MODE7 - The LED Output */
0x184 0x2f /* P9_24 15 INPUT MODE7 none - The Button Input */
0x034 0x37 /* P8_11 45 INPUT MODE7 pullup - Yellow Wire */
0x030 0x27 /* P8_12 44 INPUT MODE7 pulldown - Green Wire */
0x024 0x2f /* P8_13 23 INPUT MODE7 none - White Wire */

/* OUTPUT GPIO(mode7) 0x07 pulldown, 0x17 pullup, 0x?f no pullup/down */
/* INPUT GPIO(mode7) 0x27 pulldown, 0x37 pullup, 0x?f no pullup/down */

>;
};
};
};

fragment@1 {
target = <&ocp>;
__overlay__ {
test_helper: helper {
compatible = "bone-pinmux-helper";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_test>;
status = "okay";
};
};
};
};
')

But I dont have dtc on board, so I installed the dtc-overlay package(in alarm repository) and compiled the *.dts to *.dtbo.
The next step is to put the *.dtbo file into /lib/firmware/ then export the custom overlay. Somehow I got an error message when I try to echo the file:
$this->bbcode_second_pass_code('', '
[root@alarm firmware]# echo DM-GPIO-Test > $SLOTS
-bash: echo: write error: Invalid argument
')

And the dmesg shows the error:
$this->bbcode_second_pass_code('', '
[ 116.588550] bone-capemgr bone_capemgr.4: part_number 'DM-GPIO-Test', version 'N/A'
[ 116.599728] bone-capemgr bone_capemgr.4: slot #7: generic override
[ 116.606427] bone-capemgr bone_capemgr.4: bone: Using override eeprom data at slot 7
[ 116.614577] bone-capemgr bone_capemgr.4: slot #7: 'Override Board Name,00A0,Override Manuf,DM-GPIO-Test'
[ 116.628648] bone-capemgr bone_capemgr.4: slot #7: Requesting part number/version based 'DM-GPIO-Test-00A0.dtbo
[ 116.639361] bone-capemgr bone_capemgr.4: slot #7: Requesting firmware 'DM-GPIO-Test-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[ 116.659966] bone-capemgr bone_capemgr.4: slot #7: dtbo 'DM-GPIO-Test-00A0.dtbo' loaded; converting to live tree
[ 116.673128] of_resolve: Could not find symbol 'ocp'
[ 116.678438] bone-capemgr bone_capemgr.4: slot #7: Failed to resolve tree
')

Why is the 'ocp' symbol disappeared? I have no idea how to bring this symbol back, and I've searching this issue for all day but no one seems to have this problem....
And also, I've noticed some error of bone-capemgr during boot up:
$this->bbcode_second_pass_code('', '
[ 2.079165] bone-capemgr bone_capemgr.4: loader: before slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 2.088092] bone-capemgr bone_capemgr.4: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 2.114903] bone-capemgr bone_capemgr.4: loader: after slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 2.123764] bone-capemgr bone_capemgr.4: loader: after slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 2.132533] bone-capemgr bone_capemgr.4: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 2.149243] bone-capemgr bone_capemgr.4: slot #4: Requesting part number/version based 'BB-BONE-EMMC-2G-00A0.dtbo
[ 2.166641] bone-capemgr bone_capemgr.4: slot #4: Requesting firmware 'BB-BONE-EMMC-2G-00A0.dtbo' for board-name 'Bone-LT-eMMC-2G', version '00A0'
[ 2.196249] bone-capemgr bone_capemgr.4: failed to load firmware 'BB-BONE-EMMC-2G-00A0.dtbo'
[ 2.205235] bone-capemgr bone_capemgr.4: loader: failed to load slot-4 BB-BONE-EMMC-2G:00A0 (prio 1)
[ 2.214972] bone-capemgr bone_capemgr.4: slot #5: Requesting part number/version based 'BB-BONELT-HDMI-00A0.dtbo
[ 2.225778] bone-capemgr bone_capemgr.4: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 2.243629] bone-capemgr bone_capemgr.4: slot #5: Requesting firmware 'BB-BONELT-HDMI-00A0.dtbo' for board-name 'Bone-Black-HDMI', version '00A0'
[ 2.299341] bone-capemgr bone_capemgr.4: failed to load firmware 'BB-BONELT-HDMI-00A0.dtbo'
[ 2.308220] bone-capemgr bone_capemgr.4: loader: failed to load slot-5 BB-BONELT-HDMI:00A0 (prio 1)
[ 2.317810] bone-capemgr bone_capemgr.4: loader: check slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 2.335923] bone-capemgr bone_capemgr.4: loader: after slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 2.350988] bone-capemgr bone_capemgr.4: slot #6: Requesting part number/version based 'BB-BONELT-HDMIN-00A0.dtbo
[ 2.403516] bone-capemgr bone_capemgr.4: slot #6: Requesting firmware 'BB-BONELT-HDMIN-00A0.dtbo' for board-name 'Bone-Black-HDMIN', version '00A0'
[ 2.427168] bone-capemgr bone_capemgr.4: failed to load firmware 'BB-BONELT-HDMIN-00A0.dtbo'
[ 2.436136] bone-capemgr bone_capemgr.4: loader: failed to load slot-6 BB-BONELT-HDMIN:00A0 (prio 2)

')

Can somebody help me? I really love Archlinux...
Last edited by tw00084811 on Mon Oct 21, 2013 3:14 am, edited 1 time in total.
tw00084811
 
Posts: 3
Joined: Thu Aug 23, 2012 4:31 pm

Re: BeagleBone Black DT overlay : Could not find symbol 'ocp

Postby moosbart » Mon Oct 07, 2013 2:30 pm

Hallo, most likely I will not be able to help, sorry about that. Anyway I'd be interested in which kernel version it is running. Is it some 3.8 version, some 3.11 version, or some release candidate of 3.12? I noticed there are large differences. Well, this is just a vague guess, if by any chance you could downgrade to the latest 3.8 version, e.g. 3.8.13, I'd try that.
moosbart
 
Posts: 5
Joined: Thu Aug 22, 2013 8:37 pm

Re: BeagleBone Black DT overlay : Could not find symbol 'ocp

Postby flrichar » Tue Oct 08, 2013 7:44 pm

I have had my BBB for a while now, and I'm seeing the same issue.

I had to downgrade my kernel to the old previous kernel with the commands below.

pacman -U linux-am33x-3.8.13-10-armv7h.pkg.tar.xz linux-headers-am33x-3.8.13-10-armv7h.pkg.tar.xz

Once I loaded the bone_iio_helper module, things seem to work. I think some of the bone-capemgr stuff was only developed for 3.8 and 3.12 might be "too new". Not to say they won't come out with patches or a newer version.

Also, those packages above were in my /var/cache/pacman/pkg directory.
flrichar
 
Posts: 1
Joined: Tue Oct 08, 2013 7:41 pm

Re: BeagleBone Black DT overlay : Could not find symbol 'ocp

Postby tw00084811 » Wed Oct 16, 2013 7:22 am

Sorry I've been busy on my works so didn't have much time to deal with this problem recently.
I will try to downgrade the kernel, thank you! :D
tw00084811
 
Posts: 3
Joined: Thu Aug 23, 2012 4:31 pm

Re: BeagleBone Black DT overlay : Could not find symbol 'ocp

Postby WarheadsSE » Wed Oct 16, 2013 11:31 am

We've actually added a linux-am33x-legacy kernel package with 3.8
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: [SOLVED]BeagleBone Black DT overlay : symbol 'ocp'

Postby tw00084811 » Mon Oct 21, 2013 3:18 am

I downgraded the kernel and everything works!!! :D :D

For those who doesn't have old packages in pacman's cache, just installs linux-am33x-legacy package, it's now in the official repo.

$this->bbcode_second_pass_code('', 'pacman -S linux-am33x-legacy')

Thank you guys!!!
tw00084811
 
Posts: 3
Joined: Thu Aug 23, 2012 4:31 pm

Re: [SOLVED]BeagleBone Black DT overlay : symbol 'ocp'

Postby iwoloschin » Sat Oct 26, 2013 3:21 pm

Does this just work with GPIO, or will it work with PWM & analog input as well?

Also, are there any compelling reasons to use the newer kernels for BBB work?
iwoloschin
 
Posts: 2
Joined: Mon Sep 02, 2013 3:38 pm

Re: [SOLVED]BeagleBone Black DT overlay : symbol 'ocp'

Postby ciofeca » Tue Nov 19, 2013 12:35 pm

Sadly, the "legacy" 3.8 kernel has problems as well -- you can't safely unload the preloaded capes (HDMI), not even from kernel command-line, wasting many useful ports.

The current kernel 3.12.0-6 onlyt accepts the BB-EEPROM-01 dtbo; I can access /dev/i2c-0 and /dev/i2c-1 but an hexdump of its own 32k eeprom (/sys/bus/i2c/drivers/at24/1-0050/eeprom) always results in "timeout".

Latest Angstrom sucks; latest Arch kernel has problems as well. Wondering when the BBB will become useful again. :cry:
ciofeca
 
Posts: 13
Joined: Wed Feb 20, 2013 10:19 pm

Re: [SOLVED]BeagleBone Black DT overlay : symbol 'ocp'

Postby ciofeca » Thu Nov 21, 2013 12:57 pm

Update:

I managed to enable ttyO2, ttyO3 and ttyO5 without errors, placing in /lib/firmware the DTBO files downloaded from:

http://www.armhf.com/index.php/beaglebone-black-serial-uart-device-tree-overlays-for-ubuntu-and-debian-wheezy-tty01-tty02-tty04-tty05-dtbo-files/

I loaded it as usual: root user should do:
$this->bbcode_second_pass_code('', 'echo ttyO4_armhf.com:00A0 > /sys/devices/bone_capemgr.*/slots')

The kernel 3.12.0-6-ARCH recognizes them. In the dmesg I see things like:
$this->bbcode_second_pass_code('', '[48464.885780] 481aa000.serial: ttyO5 at MMIO 0x481aa000 (irq = 62, base_baud = 3000000) is a OMAP UART5
')

(funny bug: you use "ttyO4_armhf.com:00A0" to actually enable /dev/ttyO5)

The updated kernel version 3.12.1-1-ARCH loads them as well. But -again!- unloading may crash the Linux kernel (hard reboot needed).
ciofeca
 
Posts: 13
Joined: Wed Feb 20, 2013 10:19 pm


Return to Texas Instruments (TI)

Who is online

Users browsing this forum: No registered users and 7 guests