Custom overlay dts file for ssd1289 LCD

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>;
};
};
};
};

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”;

status = “okay”;