Skip to contentSkip to conversation

how to understand powerpc's BRx ORx

DISCUSSION hacklu 3 participants 3 messages Sep 10, 2010 – Sep 12, 2010

lore
Share & tools
lore

hacklu

author
#0 lore raw

I didn't understand the address mask.
it's said that: BR[BA] is the base address,the OR[AM] is the address mask, "Provides masking for corresponding BRx bits. By masking address
bits independently, SDRAM devices of different size address ranges can be used. Clearing bits masks the corresponding address bit. Setting bits causes the corresponding address bit to be compared with the address pins. Address mask bits can be set or cleared in any order, allowing a resource to reside in more than one area of the address map. SDAM can be read or written at any time."

how to understand it?
for instance, if my BR0[BA]=0111_0000_0000_0000_0, OR0[AM]=1111_1111_1111 if I want to access the 0x70000000 or the 0x71000001.what address calculate will be taken?

thanks all

--------------
hacklu
2010-09-10

#1 lore raw
Quoted 2 lines · hacklu

I didn't understand the address mask.
it's said that: BR[BA] is the base address,the OR[AM] is the address =

mask,

Quoted 2 lines

"Provides masking for corresponding BRx bits. By masking address=20 bits independently, SDRAM devices of different size address ranges can =

be used. Clearing=20

Quoted 1 line

bits masks the corresponding address bit. Setting bits causes the =

corresponding address=20

Quoted 1 line

bit to be compared with the address pins. Address mask bits can be set =

or cleared in any=20

Quoted 1 line

order, allowing a resource to reside in more than one area of the =

address map. SDAM can=20

Quoted 4 lines

be read or written at any time."
=20
how to understand it?
for instance, if my BR0[BA]=3D0111_0000_0000_0000_0, =

OR0[AM]=3D1111_1111_1111

Quoted 1 line

if I want to access the 0x70000000 or the 0x71000001.what address =

calculate will be taken?

Can you let us know which chip you are looking at using? There is a bit = of variation so its useful to know.

- k=

#2 lore raw
In reply to hacklu
Quoted 2 lines · hacklu

I didn't understand the address mask.
it's said that: BR[BA] is the base address,the OR[AM] is the address mask,

...

Quoted 2 lines

for instance, if my BR0[BA]=0111_0000_0000_0000_0, OR0[AM]=1111_1111_1111 if I want to access the 0x70000000 or the 0x71000001.what address calculate will be taken?

Assuming that BR0 is set to valid, the right chip select machine is selected, etc., my understanding of MPC885RM is:

* 0x70000000 & OR0[AM] = 0x70000000
0x70000000 == BR0[BA]
=> CS0 active, 0x0000 on the address bus (haven't checked the actual bus width).

* 0x71000001 & OR0[AM] = 0x71000000 0x71000000 != BR0[BA]
=> CS0 inactive, will check the following BR/ORs

With kind regards,

Signature · 2 lines
Baurzhan Ismagulov
http://www.kz-easy.com/