*UPDATE:*
I have successfully loaded the pre-written NH7C *.dtbo* overlay onto the
BBB. The problem I am now facing is compiling my own overlay, based on the
NH7C for 24-bit color. When I run the *dtc *command, I always seem to get
the error: Syntax error 5.1-9. FATAL ERROR.
I know I'm missing something, but haven't come across a solution yet.
Note: I am doing this offline. I simply want to compile my own overlay,
copy it into /lib/firmware and add the appropriate line within the
/boot/uEnv.txt.
Any commands to fix this issue would be highly appreciated!
On Thursday, October 10, 2019 at 5:48:58 PM UTC-4, Ralph Stormer wrote:
>
> Robert,
>
> I would like to do this offline. What would I run after I copy it to
> ./src/arm/? Also, which parts of the code do I need keep to avoid any
> errors? The way I see it, my code would look something like this:
>
> /dts-v1/;
> /plugin/;
>
> #include <dt-bindings/gpio/gpio.h>
> #include <dt-bindings/pinctrl/am33xx.h>
> #include <dt-bindings/board/am335x-bbw-bbb-base.h>
>
> / {
>
> /*
> * Helper to show loaded overlays under: /proc/device-tree/chosen/overlays/
> */
> fragment@0 {
> target-path="/";
> __overlay__ {
>
> chosen {
> overlays {
> BB-BONE-NH7C-01-A0 = __TIMESTAMP__;
> };
> };
> };
> };
>
> /*
> * Free up the pins used by the cape from the pinmux helpers.
> */
> fragment@1 {
> target = <&ocp>;
> __overlay__ {
> P8_45_pinmux { status = "disabled"; }; /* lcd: lcd_data0 */
> P8_46_pinmux { status = "disabled"; }; /* lcd: lcd_data1 */
> P8_43_pinmux { status = "disabled"; }; /* lcd: lcd_data2 */
> P8_44_pinmux { status = "disabled"; }; /* lcd: lcd_data3 */
> P8_41_pinmux { status = "disabled"; }; /* lcd: lcd_data4 */
> P8_42_pinmux { status = "disabled"; }; /* lcd: lcd_data5 */
> P8_39_pinmux { status = "disabled"; }; /* lcd: lcd_data6 */
> P8_40_pinmux { status = "disabled"; }; /* lcd: lcd_data7 */
> P8_37_pinmux { status = "disabled"; }; /* lcd: lcd_data8 */
> P8_38_pinmux { status = "disabled"; }; /* lcd: lcd_data9 */
> P8_36_pinmux { status = "disabled"; }; /* lcd: lcd_data10 */
> P8_34_pinmux { status = "disabled"; }; /* lcd: lcd_data11 */
> P8_35_pinmux { status = "disabled"; }; /* lcd: lcd_data12 */
> P8_33_pinmux { status = "disabled"; }; /* lcd: lcd_data13 */
> P8_31_pinmux { status = "disabled"; }; /* lcd: lcd_data14 */
> P8_32_pinmux { status = "disabled"; }; /* lcd: lcd_data15 */
>
> P8_15_pinmux { status = "disabled"; }; /* gpmc_ad15.lcd_data16 */
> P8_16_pinmux { status = "disabled"; }; /* gpmc_ad14.lcd_data17 */
> P8_11_pinmux { status = "disabled"; }; /* gpmc_ad13.lcd_data18 */
> P8_12_pinmux { status = "disabled"; }; /* gpmc_ad12.lcd_data19 */
> P8_17_pinmux { status = "disabled"; }; /* gpmc_ad11.lcd_data20 */
> P8_14_pinmux { status = "disabled"; }; /* gpmc_ad10.lcd_data21 */
> P8_13_pinmux { status = "disabled"; }; /* gpmc_ad9.lcd_data22 */
> P8_19_pinmux { status = "disabled"; }; /* gpmc_ad8.lcd_data23 */
>
> P8_27_pinmux { status = "disabled"; }; /* lcd: lcd_vsync */
> P8_29_pinmux { status = "disabled"; }; /* lcd: lcd_hsync */
> P8_28_pinmux { status = "disabled"; }; /* lcd: lcd_pclk */
> P8_30_pinmux { status = "disabled"; }; /* lcd: lcd_ac_bias_en */
>
> P8_18_pinmux { status = "disabled"; }; /* lcd: enable */
>
> P9_14_pinmux { status = "disabled"; }; /* pwm: ehrpwm1a */
>
> P9_27_pinmux { status = "disabled"; }; /* ft5336: gpio3_15 */
> };
> };
>
>
> bb_lcd_lcd_pins: pinmux_bb_lcd_lcd_pins {
> pinctrl-single,pins = <
> /*LCD enable */
> BONE_P8_18 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_clk_mux0.gpio2_1 */
>
> BONE_P8_45 (PIN_OUTPUT | MUX_MODE0) /* P8_45: lcd_data0.lcd_data0 */
> BONE_P8_46 (PIN_OUTPUT | MUX_MODE0) /* P8_46: lcd_data1.lcd_data1 */
> BONE_P8_43 (PIN_OUTPUT | MUX_MODE0) /* P8_43: lcd_data2.lcd_data2 */
> BONE_P8_44 (PIN_OUTPUT | MUX_MODE0) /* P8_44: lcd_data3.lcd_data3 */
> BONE_P8_41 (PIN_OUTPUT | MUX_MODE0) /* P8_41: lcd_data4.lcd_data4 */
> BONE_P8_42 (PIN_OUTPUT | MUX_MODE0) /* P8_42: lcd_data5.lcd_data5 */
> BONE_P8_39 (PIN_OUTPUT | MUX_MODE0) /* P8_39: lcd_data6.lcd_data6 */
> BONE_P8_40 (PIN_OUTPUT | MUX_MODE0) /* P8_40: lcd_data7.lcd_data7 */
> BONE_P8_37 (PIN_OUTPUT | MUX_MODE0) /* P8_37: lcd_data8.lcd_data8 */
> BONE_P8_38 (PIN_OUTPUT | MUX_MODE0) /* P8_38: lcd_data9.lcd_data9 */
> BONE_P8_36 (PIN_OUTPUT | MUX_MODE0) /* P8_36: lcd_data10.lcd_data10 */
> BONE_P8_34 (PIN_OUTPUT | MUX_MODE0) /* P8_34: lcd_data11.lcd_data11 */
> BONE_P8_35 (PIN_OUTPUT | MUX_MODE0) /* P8_35: lcd_data12.lcd_data12 */
> BONE_P8_33 (PIN_OUTPUT | MUX_MODE0) /* P8_33: lcd_data13.lcd_data13 */
> BONE_P8_31 (PIN_OUTPUT | MUX_MODE0) /* P8_31: lcd_data14.lcd_data14 */
> BONE_P8_32 (PIN_OUTPUT | MUX_MODE0) /* P8_32: lcd_data15.lcd_data15 */
>
> BONE_P8_15 (PIN_OUTPUT | MUX_MODE1) /* P8_15: gpmc_ad15.lcd_data16 */
> BONE_P8_16 (PIN_OUTPUT | MUX_MODE1) /* P8_16: gpmc_ad14.lcd_data17 */
> BONE_P8_11 (PIN_OUTPUT | MUX_MODE1) /* P8_11: gpmc_ad13.lcd_data18 */
> BONE_P8_12 (PIN_OUTPUT | MUX_MODE1) /* P8_12: gpmc_ad12.lcd_data19 */
> BONE_P8_17 (PIN_OUTPUT | MUX_MODE1) /* P8_17: gpmc_ad11.lcd_data20 */
> BONE_P8_14 (PIN_OUTPUT | MUX_MODE1) /* P8_14: gpmc_ad10.lcd_data21 */
> BONE_P8_13 (PIN_OUTPUT | MUX_MODE1) /* P8_13: gpmc_ad9.lcd_data22 */
> BONE_P8_19 (PIN_OUTPUT | MUX_MODE1) /* P8_19: gpmc_ad8.lcd_data23 */
>
> BONE_P8_27 (PIN_OUTPUT | MUX_MODE0) /* P8_27: lcd_vsync.lcd_vsync */
> BONE_P8_29 (PIN_OUTPUT | MUX_MODE0) /* P8_29: lcd_hsync.lcd_hsync */
> BONE_P8_28 (PIN_OUTPUT | MUX_MODE0) /* P8_28: lcd_pclk.lcd_pclk */
> BONE_P8_30 (PIN_OUTPUT | MUX_MODE0) /* P8_30:
> lcd_ac_bias_en.lcd_ac_bias_en */
> >;
> };
>
> };
> };
>
>
> fragment@5 {
> target = <&lcdc>;
> __overlay__ {
> status = "okay";
> blue-and-red-wiring = "crossed";
> };
> };
>
>
> /* NHD-7.0-800480EF-ATXL# */
> panel {
> status = "okay";
> compatible = "ti,tilcdc,panel";
> pinctrl-names = "default";
> pinctrl-0 = <&bb_lcd_lcd_pins>;
> panel-info {
> ac-bias = <255>;
> ac-bias-intrpt = <0>;
> dma-burst-sz = <16>;
> bpp = <32>;
> fdd = <0x80>;
> tft-alt-mode = <0>;
> stn-565-mode = <0>;
> mono-8bit-mode = <0>;
> sync-edge = <0>;
> sync-ctrl = <0>;
> raster-order = <0>;
> fifo-th = <0>;
> };
> display-timings {
> native-mode = <&timing0>;
> timing0: 800x480 {
> clock-frequency = <45000000>;
> hactive = <800>;
> vactive = <480>;
> hfront-porch = <40>;
> hback-porch = <40>;
> hsync-len = <48>;
> vback-porch = <29>;
> vfront-porch = <13>;
> vsync-len = <3>;
> hsync-active = <0>;
> vsync-active = <0>;
> };
> };
> };
> };
> };
> };
>
>
>
>
> On Thursday, October 10, 2019 at 5:30:53 PM UTC-4, RobertCNelson wrote:
>>
>> On Thu, Oct 10, 2019 at 4:20 PM Ralph Stormer <[email protected]>
>> wrote:
>> >
>> > Hi Robert,
>> >
>> > Once again, thank you for this information.
>> >
>> > I wanted to give you and anyone else in my situation an update on this
>> matter. I was able to successfully disable the HDMI interface by going into
>> nano /boot/uEnv.txt and commenting the "disable_uboot_overlay_video=1"
>> line.
>> >
>> > The next thing I looked into was using the 24-bit overlay example
>> mentioned previously and linked here:
>> https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-BONE-NH7C-01-A0.dts
>>
>> >
>> > After several hours of research, I discovered that the .dto of this
>> overlay was already on the BeagleBone Black. I then tried adding this .dto
>> file into the uEnv.txt file and rebooted the Beagle. I powered it on and
>> tried probing some of the LCD_DATA pins with an o-scope and didn't get
>> anything. Did I do something wrong?
>>
>> IDK, let's find out:
>>
>> sudo /opt/scripts/tools/version.sh
>>
>> > I would also like some help modifying this overlay for other
>> requirements. I simply only want to unlock the full 24-bit LCD_DATA lines
>> of the Beagle. My display that I want to connect has a resolution of
>> 640x480. It is not a touchscreen and I do not need backlight control as I
>> have an external backlight driver. In this file, I also see display
>> settings such as fronporch, backporch, hsync, vsync, and clock, which by
>> looking at the datasheet of my display is 25MHz. How to I get these other
>> values for my display?
>>
>> Well start with the example and remove things you don't need.
>>
>> You find them in the datasheet of the glass provider. and then you
>> guess...
>>
>> > I understand that once the overlay is written, I use the dtc command to
>> compile a .dto file, which is then placed somewhere in uEnv.txt (I
>> believe).
>>
>> Or just copy it to: ./src/arm/ and run make from the bb.org-overlays repo
>>
>> >
>> > Lastly, is there anyway to test that the overlay is in place and
>> working? Until now, I simply connect an o-scope to see signals such as
>> clock.
>>
>> Plug in the lcd? We don't have any simulators.
>>
>> Regards,
>>
>> --
>> Robert Nelson
>> https://rcn-ee.com/
>>
>
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/e384b530-9600-435d-bf03-255c7782fe06%40googlegroups.com.