720MHz beagleboard

Koen Kooi wrote:

Gerald Coley wrote:

The 720MHz will NOT have more RAM, same as C3, 256MB. Rev D is the next
major spin of the board due in April/May timeframe of next year which will
have more than you can handle in the way of changes.

If everyone chooses to ignore the 720MHZ on C4, as that is all we can get to
build these boards, then I guess that is for everyone to chime in on. The HW
will be marked C4.

Ok.

Gerald: Do you think

GPIO173, GPIO172, GPIO171: 1 1 1 => Ax/Bx
GPIO173, GPIO172, GPIO171: 1 1 0 => C1, C2
GPIO173, GPIO172, GPIO171: 1 0 0 => C3
GPIO173, GPIO172, GPIO171: 1 0 1 => C4
GPIO173, GPIO172, GPIO171: 0 0 0 => D

this decoding is correct, then?

Koen: While I agree that it would be nice to add rev D (0 0 0), too, I
wonder what might change until April/May and if we shouldn't wait a
little more until things are more settled?

I wouldn't expect the ID to change, but I know the mux needs a few big changes. My goal is to have rev C4 and rev D detection in upstream uboot ASAP, not to have a perfect revD experience :slight_smile:

Updated patch with revD detection for review and testing in attachment.

Thanks

Dirk

uboot_beagle_revc4_detection_patch.txt (4.18 KB)

Hi Dirk

We also need a workaround for an extremely rare NEON corner-case that
can cause processor lockup.

The Cortex-A8 L2 Cache Auxiliary Control Register bit [27] "Load data
forwarding disable" (also known as PLD_FWD) should be set to a 1, as
a workaround which does not add any significant performance impact.

MCR p15, 1, <Rd>, c9, c0, 2 ; Write L2 Cache Auxiliary Control
Register

Note this register can only be written in secure privileged state so
needs to be done via TI's secure world

Many thanks if this can get into any forthcoming u-boot.

Ian R wrote:

Gerald Coley wrote:

Of course.

:slight_smile:

Let us know the details as soon as possible.

Thanks

Dirk

Hi Dirk

We also need a workaround for an extremely rare NEON corner-case that
can cause processor lockup.

The Cortex-A8 L2 Cache Auxiliary Control Register bit [27] "Load data
forwarding disable" (also known as PLD_FWD) should be set to a 1, as
a workaround which does not add any significant performance impact.

MCR p15, 1, <Rd>, c9, c0, 2 ; Write L2 Cache Auxiliary Control
Register

Note this register can only be written in secure privileged state so
needs to be done via TI's secure world

I don't think we are able to switch Beagle into secure privileged state. I'm not sure if OMAP35x even can be switched into secure mode (in contrast to OMAP34x). If I'm wrong here, please correct me.

Please send a patch.

Mans: As our NEON expert: Any comments from your side?

Many thanks

Dirk

A fix for beagleboard is trivial, it can be done by something like this:
http://siarhei.siamashka.name/gitweb/?p=u-boot.git;a=commit;h=fdb8cd6eccadb67425a6f13f1c67b61f51f5aec9

Siarhei Siamashka <siarhei.siamashka@gmail.com> writes:

FYI the official ARM erratum number is 725233 "PLD instructions
executed with PLD data forwarding enabled can result in a processor
deadlock" and could be usefully mentioned in any patch

Thanks everyone

Dirk Behme wrote:

Koen Kooi wrote:

Gerald Coley wrote:

The 720MHz will NOT have more RAM, same as C3, 256MB. Rev D is the next
major spin of the board due in April/May timeframe of next year which will
have more than you can handle in the way of changes.

If everyone chooses to ignore the 720MHZ on C4, as that is all we can get to
build these boards, then I guess that is for everyone to chime in on. The HW
will be marked C4.

Ok.

Gerald: Do you think

GPIO173, GPIO172, GPIO171: 1 1 1 => Ax/Bx
GPIO173, GPIO172, GPIO171: 1 1 0 => C1, C2
GPIO173, GPIO172, GPIO171: 1 0 0 => C3
GPIO173, GPIO172, GPIO171: 1 0 1 => C4
GPIO173, GPIO172, GPIO171: 0 0 0 => D

this decoding is correct, then?

Koen: While I agree that it would be nice to add rev D (0 0 0), too, I
wonder what might change until April/May and if we shouldn't wait a
little more until things are more settled?

I wouldn't expect the ID to change, but I know the mux needs a few big changes. My goal is to have rev C4 and rev D detection in upstream uboot ASAP, not to have a perfect revD experience :slight_smile:

Updated patch with revD detection for review and testing in attachment.

Does anybody had a chance to test this patch on C3 and C4?

Thanks

Dirk

uboot_beagle_revc4_detection_patch.txt (4.18 KB)

There are no C4 boards yet.

Gerald

Hi Dirk,

I just gave the patch a quick review and didn't find any obvious mistakes...

I think it should be fairly safe to send upstream :slight_smile:
  Søren

Works great on my C2 board. C4 board reports back as Ax/Bx.

Steve K.

So gpio 272 isn’t getting set properly?

All GPIO pins are set properly on the Rev C4 board.

GPIO_171 Hi…assuming that you activate the internal pullup and set it to an input.
GPIO_172 lo…assuming that you set it to an input.
GPIO_173 Hi…assuming that you activate the internal pullup and set it to an input.

Gerald

So gpio 272 isn't getting set properly?

It's my understanding that

C4: GPIO173 GPIO172 GPIO171: 1 0 1

and

Ax/Bx: GPIO173 GPIO172 GPIO171: 1 1 1

http://elinux.org/BeagleBoardPinMux#Board_IDs

So two options :wink:

a) On Steve's board there is an issue with GPIO172

or

b) Something is wrong with my code in

http://groups.google.com/group/beagleboard/msg/d039898a9bf9afb3

Mmmh??

Btw, many thanks for testing! As usual: Untested code doesn't work...

Best regards

Dirk

All GPIO pins are set properly on the Rev C4 board.

GPIO_171 Hi...............assuming that you activate the internal pullup and
set it to an input.
GPIO_172 lo...............assuming that you set it to an input.
GPIO_173 Hi...............assuming that you activate the internal pullup and
set it to an input.

Why different configuration for 172 compared to 171 + 173? I.e. why no pullup for 172? Is this compatible to older boards?

Until now we had

         MUX_VAL(CP(MCSPI1_CLK), (IEN | PTU | EN | M4)) /*GPIO_171*/\
         MUX_VAL(CP(MCSPI1_SIMO), (IEN | PTU | EN | M4)) /*GPIO_172*/\
- MUX_VAL(CP(MCSPI1_SOMI), (IEN | PTD | DIS | M0)) /*McSPI1_SOMI*/\
+ MUX_VAL(CP(MCSPI1_SOMI), (IEN | PTU | EN | M4)) /*GPIO_173*/\

with pull up for 172. The two -/+ lines are the changes we made for Rev C4 detection.

Dirk

Never mind, works fine on C4. I had a C4 hardware issue.

Steve K.

Never mind, works fine on C4. I had a C4 hardware issue.

Fyi: Now that U-Boot v1 2009.11 is out and merge window is open, I sent the revision detection patch to U-Boot mailing list:

http://lists.denx.de/pipermail/u-boot/2009-December/065502.html

Just in case anybody is interested, U-Boot v1 2009.11 binary with the revision detection patch applied in attachment.

Thanks for testing this again,

Dirk

u-boot.bin (175 KB)

What else is expected to be needed to be put in the flash of the Rev C4?
* Gerald requires that the default is that something appears on the
display. Otherwise, people will complain that the display port is
dead. I think doing this with a default environment command should be
fine. I'd prefer a logo, but we may go with a single background
color.
* We likely need similar code for the S-Video port.
* I think we need a couple of diagnostic routines. Possibly something
for audio. The above video tests might be able to be put in as 'diag'
commands as long as they execute by default.
* I'd still like to see the USBTTY patches made suitable and sent
up-stream--and think this is important for the BeagleBoard out-of-box
experience.

Anything else?

We need to make sure it supports the boot scripts that we currently use as well.

Audio has been removed for a while so I am OK either way.

Gerald

A word about audio. Based on my calculations today it is possible to
generate +1.258 ppm accurate synchronous audio DAC clocks to the C3
Expansion Connector. The 12.288 MHz on McBSP3_CLKX (pin 8) and the
synchronous 49.152 MHz on McSPI1_CLKX make it possible to interface TI
PCM1792A to Beagleboard in the 192 kS/s 24-bit stereo mode. The clocks
are made by reprogramming DPLL3 and DPLL4. As the result all their
clocks become about 2.4 % faster. I think this should not disturb any
attached modules?