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]
> <javascript:>> 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/52bd4071-c242-4d45-a38e-758d3cf46c73%40googlegroups.com.