MPC8245 (sandpoint like) PCI Problem: range check failed.

[I miss posted this to the wrong place before, I wanted to post it here :wink: ]

We have a custom board that uses an MPC8245.
I’m using a modified version of the sandpoint BSP. (QNX 6.3)
Our board just has an 8245 and an Ethernet controller on the local PCI
bus. I’ve modified the sandpoint code taking out references to the
Windbond, etc…

When I start the PCI server, It finds the host bridge and Ethernet
controller, but gives me a “range check failed” error when configuring
the Ethernet chip.

Any ideas of what could be wrong?

Thanks in advanced,

John

Output is below:

\

pci-sandpoint -vvvvv

pci_server: Aug 27 2004 12:06:48
Low memory CPU 80000000 - PCI 80000000
High memory CPU fbfffffe - PCI fbffffff
Low port CPU fe800000 - PCI 800000
High port CPU febffffe - PCI bfffff
find: Bus 0 - Dev 0 - Func 0 - Vend 1057 - Device 6
find: Bus 0 - Dev 30 - Func 0 - Vend 8086 - Device 1209
Found host bridge 0 0
Configure bridge - bus 0 - devfunc 0
find_bus 0
alloc_bus 0 0
scan_device Bus 0 - Device 0 - Function 0
Vendor 1057 Device 6 Index 0 ClassCode 60000
find_bus 0
Setup bridge 0 - Lastbus = 1
scan_device Bus 0 - Device 30 - Function 0
Vendor 8086 Device 1209 Index 0 ClassCode 20000
find_bus 0
Min_Gnt = 8 - Max_Lat = 56 - Bandwidth = 115500000
Range failed 0 - 1000
Range check failed (MEM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 1000
MEM 0 1000
Range failed 0 - 40
Range check failed (IO) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 40
IO 0 40
Range failed 0 - 20000
Range check failed (MEM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 20000
MEM 0 20000
Range failed 0 - 10000
Range check failed (ROM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 10000
ROM 0 - 10000
find_bus 0
Busmap Pri 0 - Sec 0 - Sub 0

pci

io_open for id = 3

PCI version = 2.10

Class = Network (Ethernet)
Vendor ID = 8086h, Intel Corporation
Device ID = 1209h, 82559ER Ethernet Controller
PCI index = 0h
PCI IO Address = 0h disabled
PCI Int Pin = INT A
Interrupt line = 0
CPU Interrupt = 0h

io_close_ocb

Don’t worry about the range check failed message, it is just a warning. As
long as a pci_attach_device() gives you the correct information and the
device works, then everything should be OK.

“John Kiernan” <jkiernan@birinc.com> wrote in message
news:cgnrhu$5ob$2@inn.qnx.com

[I miss posted this to the wrong place before, I wanted to post it here > :wink: > ]

We have a custom board that uses an MPC8245.
I’m using a modified version of the sandpoint BSP. (QNX 6.3)
Our board just has an 8245 and an Ethernet controller on the local PCI
bus. I’ve modified the sandpoint code taking out references to the
Windbond, etc…

When I start the PCI server, It finds the host bridge and Ethernet
controller, but gives me a “range check failed” error when configuring
the Ethernet chip.

Any ideas of what could be wrong?

Thanks in advanced,

John

Output is below:

\

pci-sandpoint -vvvvv

pci_server: Aug 27 2004 12:06:48
Low memory CPU 80000000 - PCI 80000000
High memory CPU fbfffffe - PCI fbffffff
Low port CPU fe800000 - PCI 800000
High port CPU febffffe - PCI bfffff
find: Bus 0 - Dev 0 - Func 0 - Vend 1057 - Device 6
find: Bus 0 - Dev 30 - Func 0 - Vend 8086 - Device 1209
Found host bridge 0 0
Configure bridge - bus 0 - devfunc 0
find_bus 0
alloc_bus 0 0
scan_device Bus 0 - Device 0 - Function 0
Vendor 1057 Device 6 Index 0 ClassCode 60000
find_bus 0
Setup bridge 0 - Lastbus = 1
scan_device Bus 0 - Device 30 - Function 0
Vendor 8086 Device 1209 Index 0 ClassCode 20000
find_bus 0
Min_Gnt = 8 - Max_Lat = 56 - Bandwidth = 115500000
Range failed 0 - 1000
Range check failed (MEM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 1000
MEM 0 1000
Range failed 0 - 40
Range check failed (IO) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 40
IO 0 40
Range failed 0 - 20000
Range check failed (MEM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 20000
MEM 0 20000
Range failed 0 - 10000
Range check failed (ROM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 10000
ROM 0 - 10000
find_bus 0
Busmap Pri 0 - Sec 0 - Sub 0

pci

io_open for id = 3

PCI version = 2.10

Class = Network (Ethernet)
Vendor ID = 8086h, Intel Corporation
Device ID = 1209h, 82559ER Ethernet Controller
PCI index = 0h
PCI IO Address = 0h disabled
PCI Int Pin = INT A
Interrupt line = 0
CPU Interrupt = 0h

io_close_ocb

Hugh Brown wrote:

Don’t worry about the range check failed message, it is just a warning. As
long as a pci_attach_device() gives you the correct information and the
device works, then everything should be OK.

Oh, okay…(just don’t like seeing "failed messages :wink:

I guess I’m also worried that ‘pci’ says the PCI IO Address is 0.

PCI IO Address = 0h disabled

Is that normal?

Thanks,

John

“John Kiernan” <> jkiernan@birinc.com> > wrote in message
news:cgnrhu$5ob$> 2@inn.qnx.com> …

[I miss posted this to the wrong place before, I wanted to post it here > :wink: > ]

We have a custom board that uses an MPC8245.
I’m using a modified version of the sandpoint BSP. (QNX 6.3)
Our board just has an 8245 and an Ethernet controller on the local PCI
bus. I’ve modified the sandpoint code taking out references to the
Windbond, etc…

When I start the PCI server, It finds the host bridge and Ethernet
controller, but gives me a “range check failed” error when configuring
the Ethernet chip.

Any ideas of what could be wrong?

Thanks in advanced,

John

Output is below:

\

pci-sandpoint -vvvvv

pci_server: Aug 27 2004 12:06:48
Low memory CPU 80000000 - PCI 80000000
High memory CPU fbfffffe - PCI fbffffff
Low port CPU fe800000 - PCI 800000
High port CPU febffffe - PCI bfffff
find: Bus 0 - Dev 0 - Func 0 - Vend 1057 - Device 6
find: Bus 0 - Dev 30 - Func 0 - Vend 8086 - Device 1209
Found host bridge 0 0
Configure bridge - bus 0 - devfunc 0
find_bus 0
alloc_bus 0 0
scan_device Bus 0 - Device 0 - Function 0
Vendor 1057 Device 6 Index 0 ClassCode 60000
find_bus 0
Setup bridge 0 - Lastbus = 1
scan_device Bus 0 - Device 30 - Function 0
Vendor 8086 Device 1209 Index 0 ClassCode 20000
find_bus 0
Min_Gnt = 8 - Max_Lat = 56 - Bandwidth = 115500000
Range failed 0 - 1000
Range check failed (MEM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 1000
MEM 0 1000
Range failed 0 - 40
Range check failed (IO) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 40
IO 0 40
Range failed 0 - 20000
Range check failed (MEM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 20000
MEM 0 20000
Range failed 0 - 10000
Range check failed (ROM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 10000
ROM 0 - 10000
find_bus 0
Busmap Pri 0 - Sec 0 - Sub 0

pci

io_open for id = 3

PCI version = 2.10

Class = Network (Ethernet)
Vendor ID = 8086h, Intel Corporation
Device ID = 1209h, 82559ER Ethernet Controller
PCI index = 0h
PCI IO Address = 0h disabled
PCI Int Pin = INT A
Interrupt line = 0
CPU Interrupt = 0h

io_close_ocb
\

Hi John.

Yes, this is normal on non-BIOS systems - the hardware has not yet been
initialized at this point. If you were to start the driver on it and
run ‘pci’ again, it should show a valid memory address.

Thanks,
-Jay.

John Kiernan wrote:

Hugh Brown wrote:

Don’t worry about the range check failed message, it is just a
warning. As
long as a pci_attach_device() gives you the correct information and the
device works, then everything should be OK.


Oh, okay…(just don’t like seeing "failed messages > :wink:

I guess I’m also worried that ‘pci’ says the PCI IO Address is 0.

PCI IO Address = 0h disabled

Is that normal?

Thanks,

John

“John Kiernan” <> jkiernan@birinc.com> > wrote in message
news:cgnrhu$5ob$> 2@inn.qnx.com> …

[I miss posted this to the wrong place before, I wanted to post it here > :wink: > ]

We have a custom board that uses an MPC8245.
I’m using a modified version of the sandpoint BSP. (QNX 6.3)
Our board just has an 8245 and an Ethernet controller on the local PCI
bus. I’ve modified the sandpoint code taking out references to the
Windbond, etc…

When I start the PCI server, It finds the host bridge and Ethernet
controller, but gives me a “range check failed” error when configuring
the Ethernet chip.

Any ideas of what could be wrong?

Thanks in advanced,

John

Output is below:

\

pci-sandpoint -vvvvv

pci_server: Aug 27 2004 12:06:48
Low memory CPU 80000000 - PCI 80000000
High memory CPU fbfffffe - PCI fbffffff
Low port CPU fe800000 - PCI 800000
High port CPU febffffe - PCI bfffff
find: Bus 0 - Dev 0 - Func 0 - Vend 1057 - Device 6
find: Bus 0 - Dev 30 - Func 0 - Vend 8086 - Device 1209
Found host bridge 0 0
Configure bridge - bus 0 - devfunc 0
find_bus 0
alloc_bus 0 0
scan_device Bus 0 - Device 0 - Function 0
Vendor 1057 Device 6 Index 0 ClassCode 60000
find_bus 0
Setup bridge 0 - Lastbus = 1
scan_device Bus 0 - Device 30 - Function 0
Vendor 8086 Device 1209 Index 0 ClassCode 20000
find_bus 0
Min_Gnt = 8 - Max_Lat = 56 - Bandwidth = 115500000
Range failed 0 - 1000
Range check failed (MEM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 1000
MEM 0 1000
Range failed 0 - 40
Range check failed (IO) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 40
IO 0 40
Range failed 0 - 20000
Range check failed (MEM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 20000
MEM 0 20000
Range failed 0 - 10000
Range check failed (ROM) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 10000
ROM 0 - 10000
find_bus 0
Busmap Pri 0 - Sec 0 - Sub 0

pci

io_open for id = 3

PCI version = 2.10

Class = Network (Ethernet)
Vendor ID = 8086h, Intel Corporation
Device ID = 1209h, 82559ER Ethernet Controller
PCI index = 0h
PCI IO Address = 0h disabled
PCI Int Pin = INT A
Interrupt line = 0
CPU Interrupt = 0h

io_close_ocb
\

Jay Greig wrote:

Hi John.

Yes, this is normal on non-BIOS systems - the hardware has not yet been
initialized at this point. If you were to start the driver on it and
run ‘pci’ again, it should show a valid memory address.

Thanks,
-Jay.

Thanks guys, that clears up a lot !

John Kiernan wrote:

Hugh Brown wrote:

Don’t worry about the range check failed message, it is just a
warning. As
long as a pci_attach_device() gives you the correct information and the
device works, then everything should be OK.


Oh, okay…(just don’t like seeing "failed messages > :wink:

I guess I’m also worried that ‘pci’ says the PCI IO Address is 0.

PCI IO Address = 0h disabled

Is that normal?

Thanks,

John

“John Kiernan” <> jkiernan@birinc.com> > wrote in message
news:cgnrhu$5ob$> 2@inn.qnx.com> …

[I miss posted this to the wrong place before, I wanted to post it here > :wink: > ]

We have a custom board that uses an MPC8245.
I’m using a modified version of the sandpoint BSP. (QNX 6.3)
Our board just has an 8245 and an Ethernet controller on the local PCI
bus. I’ve modified the sandpoint code taking out references to the
Windbond, etc…

When I start the PCI server, It finds the host bridge and Ethernet
controller, but gives me a “range check failed” error when configuring
the Ethernet chip.

Any ideas of what could be wrong?

Thanks in advanced,

John

Output is below:

\

pci-sandpoint -vvvvv

pci_server: Aug 27 2004 12:06:48
Low memory CPU 80000000 - PCI 80000000
High memory CPU fbfffffe - PCI fbffffff
Low port CPU fe800000 - PCI 800000
High port CPU febffffe - PCI bfffff
find: Bus 0 - Dev 0 - Func 0 - Vend 1057 - Device 6
find: Bus 0 - Dev 30 - Func 0 - Vend 8086 - Device 1209
Found host bridge 0 0
Configure bridge - bus 0 - devfunc 0
find_bus 0
alloc_bus 0 0
scan_device Bus 0 - Device 0 - Function 0
Vendor 1057 Device 6 Index 0 ClassCode 60000
find_bus 0
Setup bridge 0 - Lastbus = 1
scan_device Bus 0 - Device 30 - Function 0
Vendor 8086 Device 1209 Index 0 ClassCode 20000
find_bus 0
Min_Gnt = 8 - Max_Lat = 56 - Bandwidth = 115500000
Range failed 0 - 1000
Range check failed (MEM) - Dev 1209 - Vend 8086 - Class 20000 - Addr
0 -
Size 1000
MEM 0 1000
Range failed 0 - 40
Range check failed (IO) - Dev 1209 - Vend 8086 - Class 20000 - Addr 0 -
Size 40
IO 0 40
Range failed 0 - 20000
Range check failed (MEM) - Dev 1209 - Vend 8086 - Class 20000 - Addr
0 -
Size 20000
MEM 0 20000
Range failed 0 - 10000
Range check failed (ROM) - Dev 1209 - Vend 8086 - Class 20000 - Addr
0 -
Size 10000
ROM 0 - 10000
find_bus 0
Busmap Pri 0 - Sec 0 - Sub 0

pci

io_open for id = 3

PCI version = 2.10

Class = Network (Ethernet)
Vendor ID = 8086h, Intel Corporation
Device ID = 1209h, 82559ER Ethernet Controller
PCI index = 0h
PCI IO Address = 0h disabled
PCI Int Pin = INT A
Interrupt line = 0
CPU Interrupt = 0h

io_close_ocb
\