I trying to build specific overlay dts file to my LCD based on ssd1289 driver. Kernel supports this driver so I compiled 4.1.13 kernel with modules for fbtft and driver for ssd1289.
When I try to load compiled version: sudo sh -c “echo ‘BB-BONE-HYMINI’ > /sys/devices/platform/bone_capemgr/slots” I just have messages in dmesg:
[ 197.310490] bone_capemgr bone_capemgr: part_number ‘BB-BONE-HYMINI’, version ‘N/A’
[ 197.310578] bone_capemgr bone_capemgr: slot #5: override
[ 197.310625] bone_capemgr bone_capemgr: Using override eeprom data at slot 5
[ 197.310678] bone_capemgr bone_capemgr: slot #5: ‘Override Board Name,00A0,Override Manuf,BB-BONE-HYMINI’
I didn’t see any messages about loading module, configuring pins, etc. Any ideas how bring it to live? Where is the problem in my dts file.
Below my dts file, where I used as reference BB-BONE-LCD4-01-00A1.dts:
/dts-v1/;
/plugin/;
#include <dt-bindings/board/am335x-bbw-bbb-base.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/am33xx.h>
/ {
compatible = “ti,beaglebone-black”;
/* identification */
part-number = “BB-BONE-HYMINI-01”;
version = “00A0”;
/* state the resources this cape uses /
exclusive-use =
/ the pin header uses /
“P8.45”, / lcd: lcd_data0 /
“P8.46”, / lcd: lcd_data1 /
“P8.43”, / lcd: lcd_data2 /
“P8.44”, / lcd: lcd_data3 /
“P8.41”, / lcd: lcd_data4 /
“P8.42”, / lcd: lcd_data5 /
“P8.39”, / lcd: lcd_data6 /
“P8.30”, / lcd: lcd_data7 /
“P8.28”, / lcd: lcd_data8 /
“P8.27”, / lcd: lcd_data9 /
“P8.26”, / lcd: lcd_data10 /
“P8.25”, / lcd: lcd_data11 /
“P8.23”, / lcd: lcd_data12 /
“P8.17”, / lcd: lcd_data13 /
“P8.16”, / lcd: lcd_data14 /
“P8.15”, / lcd: lcd_data15 /
“P8.21”, / lcd: lcd_cs /
“P8.22”, / lcd: lcd_rs /
“P8.03”, / lcd: lcd_wr /
“P8.18”, / reset /
“P8.14”; / led */
fragment@0 {
target = <&am33xx_pinmux>;
overlay {
bb_lcd_lcd_pins: pinmux_bb_lcd_lcd_pins {
pinctrl-single,pins = <
BONE_P8_45 (PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 /
BONE_P8_46 (PIN_OUTPUT | MUX_MODE0) / lcd_data1.lcd_data1 /
BONE_P8_43 (PIN_OUTPUT | MUX_MODE0) / lcd_data2.lcd_data2 /
BONE_P8_44 (PIN_OUTPUT | MUX_MODE0) / lcd_data3.lcd_data3 /
BONE_P8_41 (PIN_OUTPUT | MUX_MODE0) / lcd_data4.lcd_data4 /
BONE_P8_42 (PIN_OUTPUT | MUX_MODE0) / lcd_data5.lcd_data5 /
BONE_P8_39 (PIN_OUTPUT | MUX_MODE0) / lcd_data6.lcd_data6 /
BONE_P8_30 (PIN_OUTPUT | MUX_MODE0) / lcd_data7.lcd_data7 /
BONE_P8_28 (PIN_OUTPUT | MUX_MODE0) / lcd_data8.lcd_data8 /
BONE_P8_27 (PIN_OUTPUT | MUX_MODE0) / lcd_data9.lcd_data9 /
BONE_P8_26 (PIN_OUTPUT | MUX_MODE0) / lcd_data10.lcd_data10 /
BONE_P8_25 (PIN_OUTPUT | MUX_MODE0) / lcd_data11.lcd_data11 /
BONE_P8_23 (PIN_OUTPUT | MUX_MODE0) / lcd_data12.lcd_data12 /
BONE_P8_17 (PIN_OUTPUT | MUX_MODE0) / lcd_data13.lcd_data13 /
BONE_P8_16 (PIN_OUTPUT | MUX_MODE0) / lcd_data14.lcd_data14 /
BONE_P8_15 (PIN_OUTPUT | MUX_MODE0) / lcd_data15.lcd_data15 */
BONE_P8_21 (PIN_OUTPUT | MUX_MODE0) /* lcd_cs /
BONE_P8_22 (PIN_OUTPUT | MUX_MODE0) / lcd_rs /
BONE_P8_03 (PIN_OUTPUT | MUX_MODE0) / lcd_wr /
BONE_P8_18 (PIN_OUTPUT | MUX_MODE0) / reset /
BONE_P8_14 (PIN_OUTPUT | MUX_MODE0) / led */
;
};
};
};
fragment@1 {
target-path=“/”;
overlay {
panel {
status = “disabled”;
compatible = “solomon,ssd1289”;
pinctrl-names = “default”;
pinctrl-0 = <&bb_lcd_lcd_pins>;
rotate = <0>;
bgr;
buswidth = <16>;
reset-gpios = <&gpio2 1 0>;
dc-gpios = <&gpio1 5 0>;
cs-gpios = <&gpio1 30 0>;
wr-gpios = <&gpio1 6 0>;
db-gpios = <&gpio2 6 0>,
<&gpio2 7 0>,
<&gpio2 8 0>,
<&gpio2 9 0>,
<&gpio2 10 0>,
<&gpio2 11 0>,
<&gpio2 12 0>,
<&gpio2 25 0>,
<&gpio2 24 0>,
<&gpio2 22 0>,
<&gpio1 29 0>,
<&gpio1 0 0>,
<&gpio1 4 0>,
<&gpio0 27 0>,
<&gpio1 14 0>,
<&gpio1 15 0>;
/* LED pin drives backlight directly. Use transistor (50mA) */
led-gpios = <&gpio0 26 0>;
debug = <0>;
};
};
};
};