BBB Board running Angstrom v2012.12 and Linux beaglebone 3.8.13 #1 SMP Tue Jun 18 02:11:09 EDT 2013 armv7l GNU/Linux
Trying to run command "echo <overlay> > $SLOTS" results in error "-su: echo: write error: No such file or directory"
optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
I can "cat $SLOTS" (/sys/devices/bone_capemgr.8/slots) just fine. I am root and root has rw on that file..
I'm trying to get my own overlay working for a very simple no-eeprom cape which has a DS1307 (which works fine, btw) and which will have an HD47780 LCD. I have a number of pre-built overlays in /lib/firmware and none of them will load.
An example from dmesg:
[ 330.631832] bone-capemgr bone_capemgr.8: failed to load firmware 'cape-bone-adafru-00A0.dtbo'
[ 490.071059] bone-capemgr bone_capemgr.8: part_number 'cape-bone-adafruit-lcd-00A0', version 'N/A'
[ 490.071138] bone-capemgr bone_capemgr.8: slot #11: generic override
[ 490.071157] bone-capemgr bone_capemgr.8: bone: Using override eeprom data at slot 11
[ 490.071175] bone-capemgr bone_capemgr.8: slot #11: 'Override Board Name,00A0,Override Manuf,cape-bone-adafru'
[ 490.071277] bone-capemgr bone_capemgr.8: slot #11: Requesting part number/version based 'cape-bone-adafru-00A0.dtbo
[ 490.071296] bone-capemgr bone_capemgr.8: slot #11: Requesting firmware 'cape-bone-adafru-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[ 490.080114] bone-capemgr bone_capemgr.8: failed to load firmware 'cape-bone-adafru-00A0.dtbo'
Is it failing due to lack of an eeprom?
optargs=capemgr.enable_partno=my-overlay
My LCD project is using code from here:
LCD library:
http://www.nunoalves.com/open_source/?p=152
(git repo https://github.com/nunoalves/BeagleBone_IO_lib)
It looks like in the code (which fails on asserting GPIO pins) tries to set up the pins itself. Should an overlay even be needed?
root@beaglebone:/lib/firmware# cat BB-BONE-LCD-01-00A1.dts
/*
* Copyright (C) 2013 Matt Ranostay <mran...@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
/plugin/;
//Connect a HD44780 compatible screen to the beaglebone using the
//follwing connections:
//P8_16 ==> DB7
//P8_15 ==> DB6
//P8_14 ==> DB5
//P8_13 ==> DB4
//P8_12 ==> RS
//P8_11 ==> E
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";
part-number = "BB-BONE-LCD-01";
version = "00A0";
/* state the resources this cape uses */
exclusive-use =
/* the pin header uses */
"P8.16", /* LCD: DB7 */
"P8.15", /* LCD: DB6 */
"P8.13", /* LCD: DB5 */
"P8.13", /* LCD: DB4 */
"P8.12", /* LCD: RS */
"P8.11"; /* LCD: E */
fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
bone_hd47780_lcd_pins: pinmux_bone_adafruit_lcd_pins {
pinctrl-single,pins = <
0x038 0x17 /* GPIO1_14, OUTPUT_PULLUP | MODE7 */
0x03c 0x17 /* GPIO1_15, OUTPUT_PULLUP | MODE7 */
0x028 0x17 /* GPIO0_26, OUTPUT_PULLUP | MODE7 */
0x024 0x17 /* EHRPWM2B, OUTPUT_PULLUP | MODE7 */
0x030 0x17 /* GPIO1_12, OUTPUT_PULLUP | MODE7 */
0x034 0x17 /* GPIO1_13, OUTPUT_PULLUP | MODE7 */
>;
};
};
};
};
root@beaglebone:/lib/firmware# cat bone_pwm_P8_13-00A0.dts
/*
* Copyright (C) 2013 CircuitCo
* Copyright (C) 2013 Texas Instruments
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
/plugin/;
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";
/* identification */
part-number = "bone_pwm_P8_13";
version = "00A0";
/* state the resources this cape uses */
exclusive-use =
/* the pin header uses */
"P8.13", /* pwm: ehrpwm2B */
/* the hardware IP uses */
"ehrpwm2B";
fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
pwm_P8_13: pinmux_pwm_P8_13_pins {
pinctrl-single,pins = <0x024 0x4>; /* P8_13 (ZCZ ball T10) | MODE 4 */
};
};
};
fragment@1 {
target = <&ocp>;
__overlay__ {
pwm_test_P8_13 {
compatible = "pwm_test";
pwms = <&ehrpwm2 1 500000 1>;
pwm-names = "PWM_P8_13";
pinctrl-names = "default";
pinctrl-0 = <&pwm_P8_13>;
enabled = <1>;
duty = <0>;
status = "okay";
};
};
};
};
beaglebone:~/boneDeviceTree-master/overlay$ cat hd44780.dts
/*
* 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 = "hd44780";
version = "00A0";
fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
pinctrl_hd44780: hd44780_pins {
pinctrl-single,pins = <
0x038 0x17
0x03c 0x17
0x028 0x17
0x024 0x17
0x030 0x17
0x034 0x17
>;
};
};
};
fragment@1 {
target = <&ocp>;
__overlay__ {
test_helper: helper {
compatible = "bone-pinmux-helper";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hd44780>;
status = "okay";
};
};
};
};