In my experience, the LCD driver runs great w/ a panel attached or not- you
can probe the signals. tilcdc driver should be loading and you should see
an /dev/fb0.
Not sure what
blue-and-red-wiring = "straight";
is but that shouldn't be a big deal.
I've checked your DT against mine, it's basically the same. I vaguely
remember that error, but I can't remember if I got rid of it or what.
That being said, can I see your lcd_pins node ("pinctrl-0") to make sure
it's the same as mine? Mine' s called "bb_lcd_lcd_pins" but it's this:
bb_lcd_lcd_pins: pinmux_bb_lcd_lcd_pins {
pinctrl-single,pins= <
0x0A0 (((1 << 3)) | 0)
0x0A4 (((1 << 3)) | 0)
0x0A8 (((1 << 3)) | 0)
0x0AC (((1 << 3)) | 0)
0x0B0 (((1 << 3)) | 0)
0x0B4 (((1 << 3)) | 0)
0x0B8 (((1 << 3)) | 0)
0x0BC (((1 << 3)) | 0)
0x0C0 (((1 << 3)) | 0)
0x0C4 (((1 << 3)) | 0)
0x0C8 (((1 << 3)) | 0)
0x0CC (((1 << 3)) | 0)
0x0D0 (((1 << 3)) | 0)
0x0D4 (((1 << 3)) | 0)
0x0D8 (((1 << 3)) | 0)
0x0DC (((1 << 3)) | 0)
0x0E0 (((1 << 3)) | 0)
0x0E4 (((1 << 3)) | 0)
0x0E8 (((1 << 3)) | 0)
0x0EC (((1 << 3)) | 0)
>;
};
I also have "lcdc" in exclusive use.
On Tuesday, October 9, 2018 at 9:38:22 AM UTC-4, David M wrote:
>
>
> Hello,
>
> I designed a custom board based off of the OSD335x-SM. So, from the kernel
> perspective, the board looks a lot like the pocket beaglebone. In order to
> get the board to boot I did the following:
>
>
> - I reprogrammed the EEPROM so that U-Boot would boot
> - Installed the latest Beaglebone image
> <https://beagleboard.org/latest-images> on an SDCard
> - Configured the DTS to behave like a pocket beaglebone
> - Modified uEnv.txt to not load capes dynamically and use my DTS file
>
>
> The board booted fine.
>
> I used Kernel build repo
> <https://github.com/RobertCNelson/ti-linux-kernel-dev> developed by
> Robert C Nelson to get a build-able version of the kernel. I can now create
> a custom version of the kernel DTS.
>
> *Now I want to get the LCD screen working*
>
> I have an 5 Inch New Haven LCD screen
> <http://www.newhavendisplay.com/specs/NHD-5.0-800480TF-ATXL-CTP.pdf>
> attached to the board and I've connected only 16 of the 24-bit color in an
> RGB565 format.
>
> I've modified my DTS file to include support for the LCD Panel following
> the instructions in:
>
>
> -
> <Kernel>/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt,
> - <Kernel>/Documentation/devicetree/bindings/display/tilcdc/panel.txt
> - New Havel 5 Inch LCD Cape DTS File
> <http://www.cembsoft.com/user/lcdCape/nh5cape/BB-BONE-NH5C-02-A0.dts>
>
>
> The relevant portions of my DTS file are here:
>
>
> / {
>
> lcd_backlight: backlight {
> status = "okay";
> compatible = "gpio-backlight";
> //brightness-levels = <0 51 53 56 62 75 101 152 255>;
> //default-brightness-level = <8>;
> //default-brightness-level = <0>;
> pinctrl-names = "default";
> pinctrl-0 = <&backlight_pin>;
> gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
> //default-on;
> //default-off;
> };
>
>
> lcd0:panel {
> compatible = "ti,tilcdc,panel";
> pinctrl-names = "default";
> pinctrl-0 = <&lcd_pins>;
> enable-gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>;
> backlight = <&lcd_backlight>;
> status = "okay";
>
> panel-info {
> ac-bias = <255>;
> ac-bias-intrpt = <0>;
> dma-burst-sz = <16>;
> bpp = <16>;
> fdd = <0x80>;
> sync-edge = <0>;
> sync-ctrl = <1>;
> raster-order = <0>;
> fifo-th = <0>;
> //invert-pxl-clk;
> };
>
> display-timings {
> native-mode=<&timing0>;
> timing0: 800x480 {
> clock-frequency = <45000000>;
> hactive = <800>;
> vactive = <480>;
>
> hfront-porch = <40>;
> hback-porch = <40>;
> hsync-len = <48>;
>
> vfront-porch = <13>;
> vback-porch = <29>;
> vsync-len = <3>;
>
> hsync-active = <0>;
> vsync-active = <0>;
> //de-active = <1>;
> //pixelclk-active = <1>;
> };
> };
> };
> };
>
> &lcdc {
> status = "okay";
> blue-and-red-wiring = "straight";
> };
>
>
>
>
> *Results:*
>
> - I do not see anything on the LCD screen
> - I do not see a fb0 in /dev directory
> - I have verified that the devicetree has been read correctly by
> looking into /proc/devicetree/ocp/lcdc@4830e000 as well as
> /proc/devicetree/panel/ and everything looks correct.
>
> Here is a dump of, what I think, is the most relevant parts of the kernel
> boot dmesg output (I've added some extra messages within
> <kernel>/driver/gpu/tilcdc_drv.c to help me debug this:
>
> ...
> [ 2.056859] [drm] Initialized vgem 1.0.0 20120112 for virtual device on
> minor 0
> [ 2.064449] usbcore: registered new interface driver udl
> [ 2.071783] OF: graph: no port node found in /ocp/lcdc@4830e000
> [ 2.077961] OF: graph: no port node found in /ocp/lcdc@4830e000
> [ 2.084831] tilcdc 4830e000.lcdc: Check if componentized
> [ 2.090258] tilcdc 4830e000.lcdc: Not componentized
> [ 2.095191] tilcdc 4830e000.lcdc: Look for remote node
> [ 2.100384] OF: graph: no port node found in /ocp/lcdc@4830e000
> [ 2.106356] tilcdc 4830e000.lcdc: Return 0!
> [ 2.110583] tilcdc 4830e000.lcdc: no encoders/connectors found, failed
> to initialize
> ...
> [ 2.713767] panel panel: found backlight
> ...
> [ 2.745671] panel panel: found enable GPIO
> ...
>
>
>
> (I can attach the full dmesg if requested)
>
> *Analysis:*
>
> It looks like the tilcdc which is the driver that, I think, should create
> the /dev/fb0 fails because it finds no 'encoder/connectors' I'm not sure
> what this means and I can't find documentation on this.
>
> Within the
> <Kernel>/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt it
> makes a mention of the remote port but all the examples I've seen only make
> reference to HDMI as a remote endpoint, so I do not think I need to add a
> remote endpoint to the &lcdc entry. I've tried to add a remote port to my
> panel but it just causes a kernel panic. It seems like the tilcdc should
> automatically detect the panel and create an /dev/fb0.
>
> Is there something I'm doing wrong?
> Should the tilcdc be initialized after the panel. Perhaps using something
> like a deferred probe?
>
> Any help would be greatly appreciated.
>
> Dave
>
--
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/f4e27d9b-b916-43b1-adb1-401ebaf8653a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.