Sure, here it goes:

First of all, the CANBUS, ProfiBUS, RS232 and RS485 capes from 
Beagleboardtoys all share the same PCB. It's just different components 
mounted, and different jumpers configured.
So what I did to the hardware was to unmount the 5 jumpers connecting the 
CANBUS chips to the UART and connector, and instead mount them to connect 
the RS232 driver chip, which I also mounted.
Yes, hand soldering 0402 chip components is not for the faint of heart, or 
for those with un-sharp soldering irons. I have plenty of experience and a 
MIL-SPEC soldering certificate....

So now the software part: The only thing that is important for the kernel 
cape manager is the board part no and revision no in the EEPROM. The EEPROM 
format is specified in the BB System Reference Manual, except for one thing 
that is missing: It says the part number is 16 bytes. If you have a part no 
shorter than 16 bytes you need to pad it with "." characters. I wanted to 
use a .dts file that was already available in the Angstrom distribution, so 
I called my cape a "BB-UART1........" of revision A0.

I had some trouble trying to edit the eeprom directly, probably because the 
editor tried some smart way of saving that a Flash memory driver didn't 
like... so I made a copy, edited, and then copied the content back:

cp /sys/bus/i2c/devices/1-0054/eeprom ẽeprom
vi -b eeprom
....make edits in  Replace mode....
cp eeprom /sys/bus/i2c/devices/1-0054/eeprom

The copy into the eeprom takes a LONG time. I2c is not a fast thing...
Also notice I used vi in binary mode. You can use any binary file editor, 
even hexedit :-) 

Now with a correct board part no and revision the kernel will automatically 
load the driver at boot.


On Wednesday, October 2, 2013 7:53:09 PM UTC+2, garyamort wrote:
>
> A brief writeup on what you did would be nice so others have more concrete 
> steps beyond my vague "it's somewhere in the directory tree".
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to