Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Connectors J4 and J5 on BeagleBoard

99 views
Skip to first unread message

Matt Causey

unread,
Sep 7, 2010, 7:53:32 PM9/7/10
to beagl...@googlegroups.com
I'm still learning about DVI signaling in general, so please forgive
if this is a dumb question. :-)

In reading the Beagle reference
(http://beagleboard.org/static/BBSRM_latest.pdf ), I can see that
there are 24 pins setup as 'pixel data bits', with no designation as
to what those pins should be used for (RGB-wise). I see what appear
to be standard things (h-sync, v-sync, 3.3/5v signaling, etc.)

In looking at the Sharp LQ043T1DG01 datasheet
(http://datasheet.octopart.com/LQ043T1DG01-Sharp-Microelectronics-datasheet-166381.pdf)
I can see the 24 pixel data pins which ARE marked as Red, Green, or
Blue. Also I see the other signaling pins which are also present on
the Beagle.

Based on this it would seem to me that the LCD interface (J4/J5 on
Beagle) is designed to just connect an LCD like the LQ043T1DG01 to
it...

So, my question. Would it be possible for me to build a connector or
solder up the LQ043T1DG01 to the LCD interface (J4/J5) on the Beagle -
and have Linux use that as a display? Is that the way it's intended
to work, or is there some signaling driver needed? Obviously, the
pins on the Beagle side are not designated for Red, Green, or
Blue....so that seems like a problem. I'd be connecting pins without
'really' knowing what signal is expected there.

Cheers,

--
Matt

Gerald Coley

unread,
Sep 7, 2010, 8:02:54 PM9/7/10
to beagl...@googlegroups.com
These signals are 1.8V. Not 3.5/5V signalling. You will need to have them buffered before you drive a LCD panel and thei voltages shifted.
 
Refer to -xM version of the schematic for a description of the RGB functionality of the signals.
 
The J4 and J5 are indeed provided to host an adapter board to allow it to drive various LCD panels. It would be impossible for you to create a connector or solder up wires to drive the Sharp display. You will need to as I said, buffer the signals. You also need to provide the required voltages to drive the display, including the the back light. These voltages are not provided on the connector. You will need to create these from the 5V rail that is provided.
 
Gerald
 
 

 

--
You received this message because you are subscribed to the Google Groups "Beagle Board" group.
To post to this group, send email to beagl...@googlegroups.com.
To unsubscribe from this group, send email to beagleboard...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/beagleboard?hl=en.


Matt Causey

unread,
Sep 7, 2010, 9:41:35 PM9/7/10
to beagl...@googlegroups.com
On Tue, Sep 7, 2010 at 5:02 PM, Gerald Coley <ger...@beagleboard.org> wrote:
> These signals are 1.8V. Not 3.5/5V signalling. You will need to have them
> buffered before you drive a LCD panel and thei voltages shifted.
>
> Refer to -xM version of the schematic for a description of the RGB
> functionality of the signals.
>
> The J4 and J5 are indeed provided to host an adapter board to allow it to
> drive various LCD panels. It would be impossible for you to create a
> connector or solder up wires to drive the Sharp display. You will need to as
> I said, buffer the signals. You also need to provide the required voltages
> to drive the display, including the the back light. These voltages are not
> provided on the connector. You will need to create these from the 5V rail
> that is provided.
>

Great info. Thanks!

--
Matt

Petr Štetiar

unread,
Sep 8, 2010, 5:11:45 AM9/8/10
to beagl...@googlegroups.com
Gerald Coley <ger...@beagleboard.org> [2010-09-07 19:02:54]:

> The J4 and J5 are indeed provided to host an adapter board to allow it to
> drive various LCD panels.

Hi,

I would like to use J4/J5 expansion headers as the only connection to BB for
my LCD expansion board. No J3 usage, so it can be used for example with Zippy
board. There's only i2c3 available on J4/J5 and on the wiki page for expansion
boards[1], there's i2c info for EEPROM connection - i2c2, address 0x50. The
question is, would it be possible to change the autodetection code to probe
also i2c3 bus? I asked already on IRC about it, but didn't get any meaningful
answer :-), rather some advices like "emulate EDID properly", but I can't find
any info, that it's necessary to emulate EDID anywhere.

I don't know EDID that much, but I think, that the format is incompatible with
EEPROM content for BB expansion boards, since the first 8 bytes of EEPROM are
reserved for EDID header "00h FFh FFh FFh FFh FFh FFh 00h".

Thanks for your opinion.

1. http://elinux.org/BeagleBoardPinMux#Hardware_2

-- ynezz

Gerald Coley

unread,
Sep 8, 2010, 10:10:43 AM9/8/10
to beagl...@googlegroups.com
I suppose you could change it, but that is not the standard and I would not support such a change. Why not just read the EDID value as is currently done for the monitors? That code is already there. That was the intent of the original design so as not to create additional software.
 
Gerald


 

Petr Štetiar

unread,
Sep 9, 2010, 4:00:41 AM9/9/10
to beagl...@googlegroups.com
Gerald Coley <ger...@beagleboard.org> [2010-09-08 09:10:43]:

> I suppose you could change it, but that is not the standard and I would not
> support such a change. Why not just read the EDID value as is currently done
> for the monitors? That code is already there. That was the intent of the
> original design so as not to create additional software.

Sorry, but I don't get what do you mean, it's maybe just misunderstanding.
My i2c stuff on the board:

BEAGLE EEPROM 0x50 PWM/GPIO 0x51 TS 0x52
__________ __________ ___________
JP4 ---i2c3--| |---| |---| |
|AT24C01B| |BACKLIGHT| |TOUCHSCREEN|
JP5 ---i2c3--|________|---|_________|---|___________|

Content of the EEPROM will be same as would be on the i2c2. The only change I
want, is change of the u-boot expansion detection code to something like this:

diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 8c5b88c..7846951 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -49,7 +49,8 @@ static struct {

#define TWL4030_I2C_BUS 0

-#define EXPANSION_EEPROM_I2C_BUS 1
+#define EXPANSION_EEPROM_I2C_BUS2 1
+#define EXPANSION_EEPROM_I2C_BUS3 2
#define EXPANSION_EEPROM_I2C_ADDRESS 0x50

#define TINCANTOOLS_VENDORID 0x0100
@@ -127,11 +128,14 @@ void beagle_identify(void)
*/
unsigned int get_expansion_id(void)
{
- i2c_set_bus_num(EXPANSION_EEPROM_I2C_BUS);
-
- /* return BEAGLE_NO_EEPROM if eeprom doesn't respond */
- if (i2c_probe(EXPANSION_EEPROM_I2C_ADDRESS) == 1)
- return BEAGLE_NO_EEPROM;
+ /* try to probe i2c2 on J3 first */
+ i2c_set_bus_num(EXPANSION_EEPROM_I2C_BUS2);
+ if (i2c_probe(EXPANSION_EEPROM_I2C_ADDRESS)) {
+ /* than i2c3 on J4/J5 */
+ i2c_set_bus_num(EXPANSION_EEPROM_I2C_BUS3);
+ if (i2c_probe(EXPANSION_EEPROM_I2C_ADDRESS))
+ return BEAGLE_NO_EEPROM;
+ }

-- ynezz

Petr Štetiar

unread,
Sep 9, 2010, 4:07:08 AM9/9/10
to beagl...@googlegroups.com
Petr �tetiar <yn...@true.cz> [2010-09-09 10:00:41]:

> Gerald Coley <ger...@beagleboard.org> [2010-09-08 09:10:43]:
>
> > I suppose you could change it, but that is not the standard and I would not
> > support such a change. Why not just read the EDID value as is currently done
> > for the monitors? That code is already there. That was the intent of the
> > original design so as not to create additional software.
>
> Sorry, but I don't get what do you mean, it's maybe just misunderstanding.
> My i2c stuff on the board:
>
> BEAGLE EEPROM 0x50 PWM/GPIO 0x51 TS 0x52
> __________ __________ ___________
> JP4 ---i2c3--| |---| |---| |
> |AT24C01B| |BACKLIGHT| |TOUCHSCREEN|
> JP5 ---i2c3--|________|---|_________|---|___________|

Isn't the above with the u-boot change better then this:

BEAGLE PWM/GPIO 0x51 TS 0x52
__________ ___________
JP4 ---i2c3--| |---| |
|BACKLIGHT| |TOUCHSCREEN|
JP5 ---i2c3--|_________|---|___________|


BEAGLE EEPROM 0x50
__________
J3 ---i2c2--| |
|AT24C01B|
J3 ---i2c2--|________|

I would need to use additional 2 pins on J3, just for the EEPROM on i2c2 for
the expansion detection code in u-boot. It seems to be a bit overkill for me.

-- ynezz

Vladimir Pantelic

unread,
Sep 9, 2010, 4:31:27 AM9/9/10
to beagl...@googlegroups.com
Petr Štetiar wrote:
> Petr Štetiar<yn...@true.cz> [2010-09-09 10:00:41]:

>
>> Gerald Coley<ger...@beagleboard.org> [2010-09-08 09:10:43]:
>>
>> > I suppose you could change it, but that is not the standard and I would not
>> > support such a change. Why not just read the EDID value as is currently done
>> > for the monitors? That code is already there. That was the intent of the
>> > original design so as not to create additional software.
>>
>> Sorry, but I don't get what do you mean, it's maybe just misunderstanding.
>> My i2c stuff on the board:
>>
>> BEAGLE EEPROM 0x50 PWM/GPIO 0x51 TS 0x52
>> __________ __________ ___________
>> JP4 ---i2c3--| |---| |---| |
>> |AT24C01B| |BACKLIGHT| |TOUCHSCREEN|
>> JP5 ---i2c3--|________|---|_________|---|___________|
>
> Isn't the above with the u-boot change better then this:

what is being proposed is that you make the *content* of the
AT24C01B be a valid EDID block so that your LCD/TS appears
as a standard DVI monitor that brings his own EDID info.

the I2C address for the EDID block is also 0x50 it seems.

Petr Štetiar

unread,
Sep 9, 2010, 4:59:39 AM9/9/10
to beagl...@googlegroups.com
Vladimir Pantelic <vlad...@gmail.com> [2010-09-09 10:31:27]:

> Petr �tetiar wrote:
>> Petr �tetiar<yn...@true.cz> [2010-09-09 10:00:41]:

Ok, this is nice idea, but it's impossible. You use EEPROM with same address
for EDID and for expansion detection. In current scenarion you can have either
EDID or expansion board detection, not both. Or am I mistaken?

-- ynezz

Petr Štetiar

unread,
Sep 9, 2010, 5:01:58 AM9/9/10
to beagl...@googlegroups.com
Petr �tetiar <yn...@true.cz> [2010-09-09 10:59:39]:

Or do you mean, that the expansion detection code should be changed so it can detect
EDID header and read the info about the board from the EDID?

-- ynezz

Koen Kooi

unread,
Sep 9, 2010, 5:49:59 AM9/9/10
to beagl...@googlegroups.com

Op 9 sep 2010, om 10:59 heeft Petr Štetiar het volgende geschreven:

> Vladimir Pantelic <vlad...@gmail.com> [2010-09-09 10:31:27]:
>

>> Petr Štetiar wrote:
>>> Petr Štetiar<yn...@true.cz> [2010-09-09 10:00:41]:

EDID and DDC are on the 'screen' i2c bus, which isn't used for expansion board IDs

Petr Štetiar

unread,
Sep 9, 2010, 6:22:54 AM9/9/10
to beagl...@googlegroups.com
Koen Kooi <ko...@beagleboard.org> [2010-09-09 11:49:59]:

> EDID and DDC are on the 'screen' i2c bus, which isn't used for expansion board IDs

What is screen i2c bus, it's bus #3? Than it means, that it will need 2
EEPROMS, one for EDID on i2c bus #3 and second one for expansion board
detection on bus #2 and use all three J3/J4/J5, right?

-- ynezz

Petr Štetiar

unread,
Sep 9, 2010, 8:34:46 AM9/9/10
to beagl...@googlegroups.com
Petr �tetiar <yn...@true.cz> [2010-09-09 12:22:54]:

In case I would go on with usage of J4/J5 only, because I don't see the point
of occupying whole BB just with one expansion board and just for the detection
logic use 2 pins on J3/i2c2, would it be fine with it you, to change the detection
logic to something similar in attached patch? Thanks.

-- ynezz

edid.patch

Petr Štetiar

unread,
Sep 9, 2010, 8:52:18 AM9/9/10
to beagl...@googlegroups.com
Petr �tetiar <yn...@true.cz> [2010-09-09 14:34:46]:

I've just realized, that abussing version/revision is really stupid, but it
might work with serial number which is reserved for 32-bit number and abussing
it shouldn't affect EDID parsing.

-- ynezz

Petr Štetiar

unread,
Sep 13, 2010, 5:12:27 AM9/13/10
to beagl...@googlegroups.com
Petr �tetiar <yn...@true.cz> [2010-09-09 14:52:18]:

Hm, I wonder, if I wrote something wrong, because the discussion has ended.
It's wrong to discuss my ideas using diffs against u-boot source code? Should I
write it rather in english? Thanks.

-- ynezz

Gerald Coley

unread,
Sep 13, 2010, 8:49:40 AM9/13/10
to beagl...@googlegroups.com
I will not support such a change in the UBoot to read the second EEPROM on J4/J5. There is already an industry standard that supports this interface called EDID. That is all that I will support. That needs to be added unto UBoot if the identification of the display is required in Uboot and it needs to be added into the Kernel as well..
 
Gerald


 
On Mon, Sep 13, 2010 at 4:12 AM, Petr Štetiar <yn...@true.cz> wrote:
Petr Štetiar <yn...@true.cz> [2010-09-09 14:52:18]:

> Petr Štetiar <yn...@true.cz> [2010-09-09 14:34:46]:
>
> > Petr Štetiar <yn...@true.cz> [2010-09-09 12:22:54]:

-- ynezz

Jason Kridner

unread,
Sep 13, 2010, 12:00:44 PM9/13/10
to beagl...@googlegroups.com
On Mon, Sep 13, 2010 at 5:12 AM, Petr Štetiar <yn...@true.cz> wrote:
> Petr Štetiar <yn...@true.cz> [2010-09-09 14:52:18]:
>
>> Petr Štetiar <yn...@true.cz> [2010-09-09 14:34:46]:
>>
>> > Petr Štetiar <yn...@true.cz> [2010-09-09 12:22:54]:

>> >
>> > > Koen Kooi <ko...@beagleboard.org> [2010-09-09 11:49:59]:
>> > >
>> > > > EDID and DDC are on the 'screen' i2c bus, which isn't used for expansion board IDs
>> > >
>> > > What is screen i2c bus, it's bus #3? Than it means, that it will need 2
>> > > EEPROMS, one for EDID on i2c bus #3 and second one for expansion board
>> > > detection on bus #2 and use all three J3/J4/J5, right?
>> >
>> > In case I would go on with usage of J4/J5 only, because I don't see the point
>> > of occupying whole BB just with one expansion board and just for the detection
>> > logic use 2 pins on J3/i2c2, would it be fine with it you, to change the detection
>> > logic to something similar in attached patch? Thanks.
>>
>> I've just realized, that abussing version/revision is really stupid, but it
>> might work with serial number which is reserved for 32-bit number and abussing
>> it shouldn't affect EDID parsing.
>
> Hm, I wonder, if I wrote something wrong, because the discussion has ended.
> It's wrong to discuss my ideas using diffs against u-boot source code? Should I
> write it rather in english? Thanks.

I appreciated getting the patch to aide in the discussion. I really
didn't pay attention until I saw the patch (which I would consider for
the BeagleBoard validation image u-boot that gets shipped with the
boards). Sorry if I came in late.

Unfortunately, patches on this list come as attachments, so I can't
easily reply in-line.

This said, I don't like the patch. The convention of the expansion
EEPROM is for use of the expansion port. I'd support the use of
additional addresses to support the inclusion of multiple boards
occupying the same expansion connector, but the reading of the EDID
EEPROM should be kept separate and should provide information on using
the LCD expansion header or DVI-D output.

I think it still is not clear why you are trying to do this and put it
on top of the expansion board EEPROM handling routines.

I've used the experience of answering the RISC OS question on this
list[1] and the validation instructions[2] to try to improve my
knowledge enough to be able to put EDID-D parsing into u-boot.
Obviously I'm doing that at a bit of a low priority.

[1] http://groups.google.com/group/beagleboard/browse_thread/thread/6a77c62f1b855aaa/35e91a747f0763eb?#35e91a747f0763eb
[2] http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext#i2c

>
> -- ynezz
>

Petr Štetiar

unread,
Sep 13, 2010, 12:30:09 PM9/13/10
to beagl...@googlegroups.com
Jason Kridner <jkri...@beagleboard.org> [2010-09-13 12:00:44]:

> This said, I don't like the patch. The convention of the expansion
> EEPROM is for use of the expansion port. I'd support the use of
> additional addresses to support the inclusion of multiple boards
> occupying the same expansion connector, but the reading of the EDID
> EEPROM should be kept separate and should provide information on using
> the LCD expansion header or DVI-D output.

Thanks a lot for your input, and I see your point. Just don't mix it together,
use EEPROM on i2c2 to identify the boards utilizing expansion connector and
use EDID to identify LCD expansion boards which want to use JP4/JP5 connectors
only, with EEPROM on i2c3 only. We can identify the board using EDID without
any hassle, because there's vendor/product ID which we can use for such
purpose, right?

> I think it still is not clear why you are trying to do this and put it
> on top of the expansion board EEPROM handling routines.

It was just the first mockup, nothing serious, just an idea.

-- ynezz

Jason Kridner

unread,
Sep 13, 2010, 3:44:00 PM9/13/10
to beagl...@googlegroups.com
On Mon, Sep 13, 2010 at 12:30 PM, Petr Štetiar <yn...@true.cz> wrote:
> Jason Kridner <jkri...@beagleboard.org> [2010-09-13 12:00:44]:
>
>> This said, I don't like the patch.  The convention of the expansion
>> EEPROM is for use of the expansion port.  I'd support the use of
>> additional addresses to support the inclusion of multiple boards
>> occupying the same expansion connector, but the reading of the EDID
>> EEPROM should be kept separate and should provide information on using
>> the LCD expansion header or DVI-D output.
>
> Thanks a lot for your input, and I see your point. Just don't mix it together,
> use EEPROM on i2c2 to identify the boards utilizing expansion connector and
> use EDID to identify LCD expansion boards which want to use JP4/JP5 connectors
> only, with EEPROM on i2c3 only. We can identify the board using EDID without
> any hassle, because there's vendor/product ID which we can use for such
> purpose, right?

That's exactly my viewpoint, yes.

>
>> I think it still is not clear why you are trying to do this and put it
>> on top of the expansion board EEPROM handling routines.
>
> It was just the first mockup, nothing serious, just an idea.
>
> -- ynezz
>

Petr Štetiar

unread,
Sep 14, 2010, 7:32:28 AM9/14/10
to beagl...@googlegroups.com
Jason Kridner <jkri...@beagleboard.org> [2010-09-13 15:44:00]:

> > Thanks a lot for your input, and I see your point. Just don't mix it together,
> > use EEPROM on i2c2 to identify the boards utilizing expansion connector and
> > use EDID to identify LCD expansion boards which want to use JP4/JP5 connectors
> > only, with EEPROM on i2c3 only. We can identify the board using EDID without
> > any hassle, because there's vendor/product ID which we can use for such
> > purpose, right?
>
> That's exactly my viewpoint, yes.

Ok, cool. I hope, that I can provide some patches for the discussion by the end
of this week.

-- ynezz

Reply all
Reply to author
Forward
0 new messages