[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MVME5500 status, and on to PMC interrupts
- Date: Mon, 28 Feb 2005 10:02:09 -0500
- From: Peter Dufault <dufault at hda dot com>
- Subject: Re: MVME5500 status, and on to PMC interrupts
On Feb 28, 2005, at 9:24 AM, Kate Feng wrote:
Perhaps, it will help if you can describe your complete PMC system
configuration
with the module names and function Exactly which card is on the PMC1,
PMC2,
and PMC_SPAN ? I got bits of information from different E-mail you
posted.
I am still not positive about what the complete system configuration
is.
MVME5500
PMC1: ACROMAG PMC730 Multifunction Module
PMC2: ACROMAG PMC341 Simultaneous Sampling Analog Input Module
DEC 21150 PCI-PCI Bridge (PMCSPAN):
PMC1: ACROMAG PMC730 Multifunction Module
Changed "bus<2" to bus<BusCountPCI() in pcifinddevice.c. The
BusCountPCI calculation is wrong,
but I'm ignoring that for now since it is too big - I don't think that
adds a problem.
Changed printout in BSP_PCIxFindDevice to include the pciNum passed in
in pcifinddevice.c.
Changed pci.c to recognize the DEC 21150 PCI-PCI bridge.
During bootup I find the devices (see attachment)
PMC730-1: 0/0/6/0
PMC341: 1/0/6/0
PMC730-2: 0/2/2/0
XXX Look for "XXX" for my commentary.
Exception handling initialization done
-----------------------------------------
Welcome to rtems-4.6.99.1(PowerPC/PowerPC 7455/mvme5500) on MVME5500-0163
-----------------------------------------
Now BSP_mem_size = 0x1FE00000
BSP_Configuration.work_space_size = 80000
Marvell GT6426xA/B hostbridge detected at PCI0 bus0 slot0
PCI0_BASE_ADDRESS_0 0x8
PCI0_BASE_ADDRESS_1 0x10000008
PCI0_BASE_ADDRESS_2 0x8
PCI0_BASE_ADDRESS_3 0x8
PCI0_INTERRUPT_LINE 0x100
PCI0_MEM_BASE_ADDR 0x80100008
PCI0_IO_BASE_ADDR 0x1
PCI0 Slot 0x0 HEADER/LAT/CACHE 0x80800000
PCI0 Slot 0x0 Func 1 classID 0x5800020
PCI0 Slot 0x0 Func 2 classID 0x5800020
PCI0 Slot 0x0 Func 3 classID 0x5800020
PCI0 Slot 0x0 Func 4 classID 0x5800020
PCI0 Slot 0x0 Func 5 classID 0x5800020
PCI0 Slot 0x0 Func 6 classID 0x5800020
PCI0 Slot 0x0 Func 7 classID 0x5800020
MOTLoad command status 0x22B00006, Now command/status 0x2B00007
PCI0 Bus0 Slot6 DeviceID 0x445716D5
PCI0_BASE_ADDRESS_0 0x80200000
PCI0_BASE_ADDRESS_1 0x0
PCI0_BASE_ADDRESS_2 0x0
PCI0_BASE_ADDRESS_3 0x0
PCI0_INTERRUPT_LINE 0x108
PCI0_MEM_BASE_ADDR 0x0
PCI0_IO_BASE_ADDR 0x0
PCI0 Slot 0x6 HEADER/LAT/CACHE 0x0
MOTLoad command status 0x4000002, Now command/status 0x4000003
PLX PCI6154 PCI-PCI bridge detected at PCI0 bus0 slot10
PCI0_BASE_ADDRESS_0 0x0
PCI0_BASE_ADDRESS_1 0x0
PCI0_BASE_ADDRESS_2 0x80020100
PCI0_BASE_ADDRESS_3 0x2A0C191
PCI0_INTERRUPT_LINE 0x0
PCI0_MEM_BASE_ADDR 0xB5F08200
PCI0_IO_BASE_ADDR 0x1FFF1
PCI0 Slot 0xA HEADER/LAT/CACHE 0x18008
MOTLoad command status 0x2B00087, Now command/status 0x2B00087
TUNDRA PCI-VME bridge detected at PCI0 bus1 slot0
PCI0_BASE_ADDRESS_0 0x82000000
PCI0_BASE_ADDRESS_1 0x9001
PCI0_BASE_ADDRESS_2 0x0
PCI0_BASE_ADDRESS_3 0x0
PCI0_INTERRUPT_LINE 0x10C
PCI0_MEM_BASE_ADDR 0x0
PCI0_IO_BASE_ADDR 0x0
PCI0 Slot 0x0 HEADER/LAT/CACHE 0x8000
MOTLoad command status 0x2000007, Now command/status 0x2000007
XXX
XXX Found DEC bridge:
DEC 21150 PCI-PCI bridge detected at PCI0 bus1 slot4
PCI0_BASE_ADDRESS_0 0x0
PCI0_BASE_ADDRESS_1 0x0
PCI0_BASE_ADDRESS_2 0x80020201
PCI0_BASE_ADDRESS_3 0x2280C1B1
PCI0_INTERRUPT_LINE 0x0
PCI0_MEM_BASE_ADDR 0xB5F0B400
PCI0_IO_BASE_ADDR 0x1FFF1
PCI0 Slot 0x4 HEADER/LAT/CACHE 0x18008
MOTLoad command status 0x2900007, Now command/status 0x2900007
Marvell GT6426xA/B hostbridge detected at PCI1 bus0 slot0
PCI1_BASE_ADDRESS_0 0x8
PCI1_BASE_ADDRESS_1 0x10000008
PCI1_BASE_ADDRESS_2 0x8
PCI1_BASE_ADDRESS_3 0x8
PCI1_INTERRUPT_LINE 0x100
PCI1_MEM_BASE_ADDR 0xE1000008
PCI1_IO_BASE_ADDR 0x1
PCI1 Slot 0x0 HEADER/LAT/CACHE 0x80800000
PCI1 Slot 0x0 Func 1 classID 0x5800020
PCI1 Slot 0x0 Func 2 classID 0x5800020
PCI1 Slot 0x0 Func 3 classID 0x5800020
PCI1 Slot 0x0 Func 4 classID 0x5800020
PCI1 Slot 0x0 Func 5 classID 0x5800020
PCI1 Slot 0x0 Func 6 classID 0x5800020
PCI1 Slot 0x0 Func 7 classID 0x5800020
MOTLoad command status 0x22B00006, Now command/status 0x2B00007
PCI1 Bus0 Slot6 DeviceID 0x4D4D16D5
PCI1_BASE_ADDRESS_0 0xE1100000
PCI1_BASE_ADDRESS_1 0x0
PCI1_BASE_ADDRESS_2 0x0
PCI1_BASE_ADDRESS_3 0x0
PCI1_INTERRUPT_LINE 0x110
PCI1_MEM_BASE_ADDR 0x0
PCI1_IO_BASE_ADDR 0x0
PCI1 Slot 0x6 HEADER/LAT/CACHE 0x8008
MOTLoad command status 0x4000006, Now command/status 0x4000007
INTEL 82544EI COPPER network controller detected at PCI1 bus0 slot10
PCI1_BASE_ADDRESS_0 0xE1120000
PCI1_BASE_ADDRESS_1 0xE1140000
PCI1_BASE_ADDRESS_2 0x10001
PCI1_BASE_ADDRESS_3 0x0
PCI1_INTERRUPT_LINE 0x114
PCI1_MEM_BASE_ADDR 0x0
PCI1_IO_BASE_ADDR 0x0
PCI1 Slot 0xA HEADER/LAT/CACHE 0x8008
MOTLoad command status 0x2300007, Now command/status 0x2300007
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/0
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/1
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/2
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/3
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/4
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/5
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/6
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/7
BSP_PCIxFindDevice: found 0x445716D5 at 0/0/6/0
BSP_PCIxFindDevice: found 0x00263388 at 0/0/10/0
BSP_PCIxFindDevice: found 0x000010E3 at 0/1/0/0
Universe II PCI-VME bridge detected at 0x82000000, IRQ 12
Universe Master Ports:
Port VME-Addr Size PCI-Adrs Mode:
0: 0x20000000 0x0F000000 0x90000000 A32, Dat, Sup
1: 0x00000000 0x00FF0000 0x9F000000 A24, Dat, Sup
2: 0x00000000 0x00010000 0x9FFF0000 A16, Dat, Sup
Universe Slave Ports:
Port VME-Addr Size PCI-Adrs Mode:
0: 0x90000000 0x1FE00000 0x00000000 A32, Pgm, Dat, Sup, Usr
Overriding main IRQ line PCI info with 12
Registering /dev/console as minor 0 (==/dev/ttyS0)
XXX
XXX Now my code starts, adding my driver. The NULL softc
XXX is just my code allocating a major number.
XXX
XXX First PMC730 finds itself at 0/0/6/0
Adding PMC730 minor number 0.
pmc_init: Called with NULL softc, returning.
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/0
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/1
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/2
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/3
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/4
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/5
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/6
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/7
BSP_PCIxFindDevice: found 0x445716D5 at 0/0/6/0
pmc730_0@0x01FFEE38: 0/0/6/0 base address 80200000 intr 08.
XXX Second PMC730 (other side of bridge) thinks it is at 0/2/2/0
XXX but that interrupt looks bogus.
Adding PMC730 minor number 1.
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/0
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/1
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/2
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/3
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/4
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/5
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/6
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/7
BSP_PCIxFindDevice: found 0x445716D5 at 0/0/6/0
BSP_PCIxFindDevice: found 0x00263388 at 0/0/10/0
BSP_PCIxFindDevice: found 0x000010E3 at 0/1/0/0
BSP_PCIxFindDevice: found 0x00221011 at 0/1/4/0
BSP_PCIxFindDevice: found 0x445716D5 at 0/2/2/0
pmc730_1@0x01FFED68: 0/2/2/0 base address B4000000 intr 0E.
XXX PMC341 finds itself at 1/0/6/0.
Adding PMC341 minor number 0.
pmc_init: Called with NULL softc, returning.
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/0
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/1
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/2
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/3
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/4
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/5
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/6
BSP_PCIxFindDevice: found 0x643011AB at 0/0/0/7
BSP_PCIxFindDevice: found 0x445716D5 at 0/0/6/0
BSP_PCIxFindDevice: found 0x00263388 at 0/0/10/0
BSP_PCIxFindDevice: found 0x000010E3 at 0/1/0/0
BSP_PCIxFindDevice: found 0x00221011 at 0/1/4/0
BSP_PCIxFindDevice: found 0x445716D5 at 0/2/2/0
BSP_PCIxFindDevice: found 0x643011AB at 1/0/0/0
BSP_PCIxFindDevice: found 0x643011AB at 1/0/0/1
BSP_PCIxFindDevice: found 0x643011AB at 1/0/0/2
BSP_PCIxFindDevice: found 0x643011AB at 1/0/0/3
BSP_PCIxFindDevice: found 0x643011AB at 1/0/0/4
BSP_PCIxFindDevice: found 0x643011AB at 1/0/0/5
BSP_PCIxFindDevice: found 0x643011AB at 1/0/0/6
BSP_PCIxFindDevice: found 0x643011AB at 1/0/0/7
BSP_PCIxFindDevice: found 0x4D4D16D5 at 1/0/6/0
pmc341_0@0x01FFEC80: 1/0/6/0 base address E1100000 intr 10.
Type 'cexp.help()' for help (no quotes)
XXX Now I try to generate an interrupt on the PMC730.
cexp_main>b=0x1ffee38 # Get first pmc730 pointer
0x01ffee38 (33549880)
cexp_main>pmc_dump(b)
pmc730_0@0x01ffee38
0 intr: 00000000
1 adc_ctl_stat: 00000000
2 adc_start_end: 00000000
3 adc_cvt_timer_and_prescaler: 00000000
4 adc_memory_threshhold: 000001ff
5 adc_start: 00000000
6 unused0: 00000000
7 unused1: 00000000
8 dac_ctl_stat: 00000000
9 dac_conversion_timer: 00000000
10 dac_fifo_interrupt_threshhold: 00000000
11 dac_start: 00000000
12 dac_fifo_write_port: 00000000
13 unused2: 00000000
14 dio_reg: 0000ffff
15 dio_dir: 00000000
16 dio_status_and_enable: 00000000
17 dio_polarity_and_type: 00000000
18 dio_debounce_0_7: 00000000
19 dio_debounce_8_15: 00000000
20 ctr_ctl: 00000000
21 ctr_readback: 00000000
22 ctr_constant1: 00000000
23 ctr_constant2: 00000000
24 ctr_trig: 00000000
25 cal_access: 00000000
26 cal_read_and_status: 00000000
27 cal_write_enable: 00000000
0x01ffee38 (33549880)
XXX This enables counter interrupts and puts counter in
XXX watchdog mode, loads the watchdog with 0x400, and
XXX enables board interrupts.
cexp_main>pmc_o(b,20,0x103,22,0x400,0,1,-1)
0x01ffee38 (33549880)
XXX The interrupts are enabled, and the counter
XXX is preloaded with 0x400.
cexp_main>pmc_d(b,0,20,21,-1)
0 intr: 00000001
20 ctr_ctl: 00000103
21 ctr_readback: 00000400
0x01ffee38 (33549880)
XXX Now start the counter:
cexp_main>pmc_o(b,24,1,-1)
0x01ffee38 (33549880)
XXX And read back and see there is an interrupt pending
XXX (register 0 0x2), the cause is the counter
XXX (register 20 0x1000), and the counter has gone down to 0.
cexp_main>pmc_d(b,0,20,21,-1)
0 intr: 00000003
20 ctr_ctl: 00001103
21 ctr_readback: 00000000
0x01ffee38 (33549880)
XXX But no interrupt.
cexp_main>
Peter Dufault
HD Associates, Inc.