Initial Value of PCI Mask Register0/1 of MPC8270

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Initial Value of PCI Mask Register0/1 of MPC8270

579 Views
Ohata
Contributor I

We are using the MPC8270. According to the datasheet, the values of PCI Mask Register0/1 are all 0 right after the power is turned on. However, when checked with a debugger, they appear to be undefined. Could you please explain why this is happening? We are attaching a dump screen near the relevant area immediately after power-on."

We appreciate your assistance in this matter.

Tags (1)
0 Kudos
13 Replies

479 Views
yipingwang
NXP TechSupport
NXP TechSupport

Can you load/read these values through other means for example uboot or CodeWarrior TAP?I don't understand why Trace32 is not loading the values properly.

0 Kudos

443 Views
Ohata
Contributor I

We read it after Uboot booting on a different type of board. As per the attached document, it becomes undefined just like the previous example.
This defect is not individual. Also, the same defect can be confirmed on a different type of board.
From this, we think that the initial values of these registers are not All 0 but undefined.

0 Kudos

339 Views
yipingwang
NXP TechSupport
NXP TechSupport

Could you detail the issue you are facing due to uninitialized values?

0 Kudos

315 Views
Ohata
Contributor I

There is no actual harm due to the undefined values, we just want to know the facts. What we want to know further is whether there are other places with initial states different from the datasheet besides this register.

The reason for this inquiry is as follows. We believe that the correct sequence is to set the PCIMSK0 register before enabling the Valid bit of PCIBR0, but a software bug was found that sets them in the opposite order. There are cases where it starts up normally and cases where it does not, and we believe that the undefined initial value of PCIMSK0 is the cause, which is why we are confirming this time. (If the initial value is All0, it should never start up)

0 Kudos

184 Views
Ohata
Contributor I

I'm currently confirming with the AE team, but if you have a board with the same CPU, you should be able to confirm that the initial value of this register is undefined by turning on the power with the flash in erase state and connecting the debugger.

0 Kudos

169 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to the following update from the AE team.

MPC8280 is an old device and we do not have a board or design support to test out.
My suspicion is on the memory attributes of the IMMRBAR space. Ideally the register space should not be cacheable. I am not sure how Lauterbach can be configured to do the read from JTAG as master and not Core.
All I would like to ensure that cache is out of picture when we read these two registers.

0 Kudos

166 Views
Ohata
Contributor I

Thank you. I will check on it.

0 Kudos

163 Views
yipingwang
NXP TechSupport
NXP TechSupport

Welcome

0 Kudos

133 Views
Ohata
Contributor I

The dump screen from Lauterbach was obtained with the cache disabled.

The meaning of "ANC" near the address on the debugger's dump screen is as follows: A=Given address is physical (bypass MMU) NC=No Cache (access with caching inhibited)

0 Kudos

311 Views
yipingwang
NXP TechSupport
NXP TechSupport

Got it.

0 Kudos

228 Views
Ohata
Contributor I

Are there any discrepancies between the 'initial values' stated in the datasheet and the actual product?

0 Kudos

224 Views
yipingwang
NXP TechSupport
NXP TechSupport

Confirming with the AE team.

0 Kudos

514 Views
yipingwang
NXP TechSupport
NXP TechSupport

Discussing with the AE team.

0 Kudos