Re: Device tree and /proc/iomem question

2007-11-28 Thread Kumar Gala

On Nov 26, 2007, at 12:26 PM, robert lazarski wrote:

 Hi all, I'm using a recent pull of the paulus tree 2.6.24RC2 on my
 custom 85xx board. I'm trying to test my PCI1, PCI2 and PCIe . My
 device tree for PCI is:

   [EMAIL PROTECTED] {
   compatible = fsl,mpc8540-pci;
   device_type = pci;
   interrupt-map-mask = f800 0 0 7;
   interrupt-map = 

   /* IDSEL 0x11 J17 Slot 1 */
   8800 0 0 1 mpic 2 1
   8800 0 0 2 mpic 3 1
   8800 0 0 3 mpic 4 1
   8800 0 0 4 mpic 1 1

   /* IDSEL 0x12 J16 Slot 2 */

   9000 0 0 1 mpic 3 1
   9000 0 0 2 mpic 4 1
   9000 0 0 3 mpic 2 1
   9000 0 0 4 mpic 1 1;

   interrupt-parent = mpic;
   interrupts = 18 2;
   bus-range = 0 ff;
   ranges = 0200 0 8000 8000 0 2000
 0100 0  e200 0 0010;
   clock-frequency = 3f940aa;
   #interrupt-cells = 1;
   #size-cells = 2;
   #address-cells = 3;
   reg = 8000 1000;
   };

   [EMAIL PROTECTED] {
   compatible = fsl,mpc8540-pci;
   device_type = pci;
   interrupt-map-mask = f800 0 0 7;
   interrupt-map = 

   /* IDSEL 0x11 J17 Slot 1 */
   8800 0 0 1 mpic 2 1
   8800 0 0 2 mpic 3 1
   8800 0 0 3 mpic 4 1
   8800 0 0 4 mpic 1 1

   /* IDSEL 0x12 J16 Slot 2 */

   9000 0 0 1 mpic 3 1
   9000 0 0 2 mpic 4 1
   9000 0 0 3 mpic 2 1
   9000 0 0 4 mpic 1 1;

   interrupt-parent = mpic;
   interrupts = 18 2;
   bus-range = 0 ff;
   ranges = 0200 0 c000 c000 0 2000
 0100 0  e280 0 0010;
   clock-frequency = 3f940aa;
   #interrupt-cells = 1;
   #size-cells = 2;
   #address-cells = 3;
   reg = c000 1000;
   };

   [EMAIL PROTECTED] {
   compatible = fsl,mpc8548-pcie;
   device_type = pci;
   #interrupt-cells = 1;
   #size-cells = 2;
   #address-cells = 3;
   reg = a000 1000;
   bus-range = 0 ff;
   ranges = 0200 0 a000 a000 0 2000
 0100 0  e300 0 0010;
   clock-frequency = 1fca055;
   interrupt-parent = mpic;
   interrupts = 19 2;
   interrupt-map-mask = f800 0 0 7;
   interrupt-map = 
   /* IDSEL 0x0 */
    0 0 1 mpic 0 1
    0 0 2 mpic 1 1
    0 0 3 mpic 2 1
    0 0 4 mpic 3 1
   ;
   };

Take a look at the device trees in the kernel source.  You'll see we  
moved PCI around so its at the root level.  Not sure if that's your  
issue.

 I see all the above in /proc/device-tree/[EMAIL PROTECTED] when booting
 the kernel. I double checked my memory mapping in u-boot and it
 appears to match my device tree. Yet I don't see any pci here:

 root:~ cat /proc/iomem
 e0004500-e0004507 : serial
 e0004600-e0004607 : serial
 e0024000-e0024fff : ethernet
  e0024520-e002453f : mdio
 e0025000-e0025fff : ethernet
 e0026000-e0026fff : ethernet
 e0027000-e0027fff : ethernet

 cat /proc/bus/pci/devices shows nothing though I have a card in PCI1,
 and all I see from dmesg is PCI: Probing PCI hardware . Any ideas?

It seems like its not even really probing or finding the buses.

Can you post what your board/platform code looks like?

- k
___
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded


Re: Device tree and /proc/iomem question

2007-11-28 Thread robert lazarski
On Nov 28, 2007 2:02 AM, Kumar Gala [EMAIL PROTECTED] wrote:
 Take a look at the device trees in the kernel source.  You'll see we
 moved PCI around so its at the root level.  Not sure if that's your
 issue.

  I see all the above in /proc/device-tree/[EMAIL PROTECTED] when booting
  the kernel. I double checked my memory mapping in u-boot and it
  appears to match my device tree. Yet I don't see any pci here:
 
  root:~ cat /proc/iomem
  e0004500-e0004507 : serial
  e0004600-e0004607 : serial
  e0024000-e0024fff : ethernet
   e0024520-e002453f : mdio
  e0025000-e0025fff : ethernet
  e0026000-e0026fff : ethernet
  e0027000-e0027fff : ethernet
 
  cat /proc/bus/pci/devices shows nothing though I have a card in PCI1,
  and all I see from dmesg is PCI: Probing PCI hardware . Any ideas?

 It seems like its not even really probing or finding the buses.

 Can you post what your board/platform code looks like?

 - k


Indeed, for 2.6.24RC2 I had to move PCI to the root level and I also
had some problems in my board/platform code. I still seem to have
problems though - I have a common intel pro 100 card in PCI1 that
doesn't seem to be detected. Here's what I have now:

bash-3.00# lspci -v
00:00.0 Class 0b20: 1057:0012 (rev 20)
Flags: bus master, 66Mhz, fast devsel, latency 128, IRQ 19
Memory at unassigned (32-bit, prefetchable)
Memory at unassigned (64-bit, non-prefetchable)
Memory at unassigned (64-bit, non-prefetchable)
Capabilities: [60] #00 []

I need to run the bus at 33MHZ. The devices seem to mapped correctly now:

bash-3.00# cat /proc/iomem
8000-9fff : /[EMAIL PROTECTED]
a000-bfff : /[EMAIL PROTECTED]
c000-dfff : /[EMAIL PROTECTED]
e0004500-e0004507 : serial
e0004600-e0004607 : serial
e0024000-e0024fff : ethernet
  e0024520-e002453f : mdio
e0025000-e0025fff : ethernet
e0026000-e0026fff : ethernet
e0027000-e0027fff : ethernet

bash-3.00# cat /proc/ioports
-000f : /[EMAIL PROTECTED]
feefc000-ffefbfff : /[EMAIL PROTECTED]
ffefe000-dfff : /[EMAIL PROTECTED]

This is a custom 8548 board we are trying to bring PCI up on and I'm
not sure if the hardware has issues, or my code is the issue. Here's
my current PCI tree which is now at the root level. My u-boot memory
map matches this AFAICT. Any further ideas greatly appreciated:

[EMAIL PROTECTED] {
interrupt-map-mask = f800 0 0 7;
interrupt-map = 

/* IDSEL 0x11 J17 Slot 1 */
8800 0 0 1 mpic 2 1
8800 0 0 2 mpic 3 1
8800 0 0 3 mpic 4 1
8800 0 0 4 mpic 1 1

/* IDSEL 0x12 J16 Slot 2 */

9000 0 0 1 mpic 3 1
9000 0 0 2 mpic 4 1
9000 0 0 3 mpic 2 1
9000 0 0 4 mpic 1 1;

interrupt-parent = mpic;
interrupts = 18 2;
bus-range = 0 ff;
ranges = 0200 0 8000 8000 0 2000
  0100 0  e200 0 0010;
clock-frequency = 1fca055;
#interrupt-cells = 1;
#size-cells = 2;
#address-cells = 3;
reg = e0008000 1000;
compatible = fsl,mpc8540-pcix, fsl,mpc8540-pci;
device_type = pci;
};

[EMAIL PROTECTED] {
interrupt-map-mask = f800 0 0 7;
interrupt-map = 

/* IDSEL 0x11 J17 Slot 1 */
8800 0 0 1 mpic 2 1
8800 0 0 2 mpic 3 1
8800 0 0 3 mpic 4 1
8800 0 0 4 mpic 1 1

/* IDSEL 0x12 J16 Slot 2 */

9000 0 0 1 mpic 3 1
9000 0 0 2 mpic 4 1
9000 0 0 3 mpic 2 1
9000 0 0 4 mpic 1 1;

interrupt-parent = mpic;
interrupts = 18 2;
bus-range = 0 ff;
ranges = 0200 0 c000 c000 0 2000
  0100 0  e280 0 0010;
clock-frequency = 1fca055;
#interrupt-cells = 1;
#size-cells = 2;
#address-cells = 3;
reg = e000c000 1000;
compatible = fsl,mpc8540-pcix, fsl,mpc8540-pci;
device_type = pci;
};

[EMAIL PROTECTED] {
interrupt-map-mask = f800 0 0 7;
interrupt-map = 

/* IDSEL 0x0 (PEX) */
0 0 0 1 mpic 0 1
0 0 0 2 mpic 1 1
0 0 0 3 mpic 2 1
0 0 0 4 mpic 3 1;

interrupt-parent = mpic;
interrupts = 1a 2;

Device tree and /proc/iomem question

2007-11-26 Thread robert lazarski
Hi all, I'm using a recent pull of the paulus tree 2.6.24RC2 on my
custom 85xx board. I'm trying to test my PCI1, PCI2 and PCIe . My
device tree for PCI is:

[EMAIL PROTECTED] {
compatible = fsl,mpc8540-pci;
device_type = pci;
interrupt-map-mask = f800 0 0 7;
interrupt-map = 

/* IDSEL 0x11 J17 Slot 1 */
8800 0 0 1 mpic 2 1
8800 0 0 2 mpic 3 1
8800 0 0 3 mpic 4 1
8800 0 0 4 mpic 1 1

/* IDSEL 0x12 J16 Slot 2 */

9000 0 0 1 mpic 3 1
9000 0 0 2 mpic 4 1
9000 0 0 3 mpic 2 1
9000 0 0 4 mpic 1 1;

interrupt-parent = mpic;
interrupts = 18 2;
bus-range = 0 ff;
ranges = 0200 0 8000 8000 0 2000
  0100 0  e200 0 0010;
clock-frequency = 3f940aa;
#interrupt-cells = 1;
#size-cells = 2;
#address-cells = 3;
reg = 8000 1000;
};

[EMAIL PROTECTED] {
compatible = fsl,mpc8540-pci;
device_type = pci;
interrupt-map-mask = f800 0 0 7;
interrupt-map = 

/* IDSEL 0x11 J17 Slot 1 */
8800 0 0 1 mpic 2 1
8800 0 0 2 mpic 3 1
8800 0 0 3 mpic 4 1
8800 0 0 4 mpic 1 1

/* IDSEL 0x12 J16 Slot 2 */

9000 0 0 1 mpic 3 1
9000 0 0 2 mpic 4 1
9000 0 0 3 mpic 2 1
9000 0 0 4 mpic 1 1;

interrupt-parent = mpic;
interrupts = 18 2;
bus-range = 0 ff;
ranges = 0200 0 c000 c000 0 2000
  0100 0  e280 0 0010;
clock-frequency = 3f940aa;
#interrupt-cells = 1;
#size-cells = 2;
#address-cells = 3;
reg = c000 1000;
};

[EMAIL PROTECTED] {
compatible = fsl,mpc8548-pcie;
device_type = pci;
#interrupt-cells = 1;
#size-cells = 2;
#address-cells = 3;
reg = a000 1000;
bus-range = 0 ff;
ranges = 0200 0 a000 a000 0 2000
  0100 0  e300 0 0010;
clock-frequency = 1fca055;
interrupt-parent = mpic;
interrupts = 19 2;
interrupt-map-mask = f800 0 0 7;
interrupt-map = 
/* IDSEL 0x0 */
 0 0 1 mpic 0 1
 0 0 2 mpic 1 1
 0 0 3 mpic 2 1
 0 0 4 mpic 3 1
;
};

I see all the above in /proc/device-tree/[EMAIL PROTECTED] when booting
the kernel. I double checked my memory mapping in u-boot and it
appears to match my device tree. Yet I don't see any pci here:

root:~ cat /proc/iomem
e0004500-e0004507 : serial
e0004600-e0004607 : serial
e0024000-e0024fff : ethernet
  e0024520-e002453f : mdio
e0025000-e0025fff : ethernet
e0026000-e0026fff : ethernet
e0027000-e0027fff : ethernet

cat /proc/bus/pci/devices shows nothing though I have a card in PCI1,
and all I see from dmesg is PCI: Probing PCI hardware . Any ideas?
Robert
___
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded