Port-macppc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: snapper does not work on PowerBook5,6
Michael wrote:
> [..cardbus..]
> Ok, so we either don't enable some interrupts or we enable the wrong
> ones for whatever reason.
> Which interrupts does snapper use on your machine?
Looks like 30 for state changes, 1 for output and 2 for input. Irq 1 and 2
look strange because all other interrupts are in a region above 20.
OF shows the same.
> Please check if the
> interrupt the cardbus bridge uses matches the interrupt register and
> the OF node. It wouldn't be the first time that one of them is lying.
Pcidump shows the same interrupt (53) as in dmesg. The cardbus memory and
i/o regions look a bit strange, but maybe that's ok when no card is
inserted?
CardBus memory region 0:
base register: 0xfffff000
limit register: 0x00000000
CardBus memory region 1:
base register: 0xfffff000
limit register: 0x00000000
CardBus I/O region 0:
base register: 0xfffffffc
limit register: 0x00000000
CardBus I/O region 1:
base register: 0xfffffffc
limit register: 0x00000000
Interrupt line: 0x35
Interrupt pin: 0x01 (pin A)
The interrupt map in OF doesn't seem right to me:
ff9a0458: /pci@f2000000/cardbus@13
#address-cells 00000003 ........ ........ ........ 3
#interrupt-cells 00000001 ........ ........ ........ 1
#size-cells 00000002 ........ ........ ........ 2
#socket 00000001 ........ ........ ........ ....
#sockets 00000001 ........ ........ ........ ....
#windows 00000007 ........ ........ ........ ....
AAPL,slot-name 50432043 61726400 ........ ........ PC Card.
AAPL,zoomed-video
adapter-caps 00000000 ........ ........ ........ ....
assigned-addresses 81009844 00000000 00008010 00000000
...D............
0010: 00000004 81009898 00000000 00008000
................
0020: 00000000 00000010 82009810 00000000
................
0030: a0004000 00000000 00001000 ........ ..@.........
cardcode 12180001 ........ ........ ........ ....
class-code 00060700 ........ ........ ........ ....
cntl-ind-caps 00000000 ........ ........ ........ ....
compatible 70636931 3034632c 61633536 00...... "pci104c,ac56"
000d: 63617264 6275732d 62726964 676500..
"cardbus-bridge"
001c: 00...... ........ ........ ........ ""
device-id 0000ac56 ........ ........ ........ ...V
device_type 63617264 62757300 ........ ........ "cardbus"
devsel-speed 00000001 ........ ........ ........ ....
interrupt-map 00000000 00000000 00000000 00000001
................
0010: ff979fe0 00009800 00000000 00000000
................
0020: 00000001 00000000 00000000 00000000
................
0030: 00000002 ff979fe0 00009800 00000000
................
0040: 00000000 00000001 00000000 00000000
................
0050: 00000000 00000003 ff979fe0 00009800
................
0060: 00000000 00000000 00000001 00000000
................
0070: 00000000 00000000 00000004 ff979fe0
................
0080: 00009800 00000000 00000000 00000001
................
0090: 00000800 00000000 00000000 00000001
................
00a0: ff979fe0 00009800 00000000 00000000
................
00b0: 00000001 00000800 00000000 00000000
................
00c0: 00000002 ff979fe0 00009800 00000000
................
00d0: 00000000 00000001 00000800 00000000
................
00e0: 00000000 00000003 ff979fe0 00009800
................
00f0: 00000000 00000000 00000001 00000800
................
0100: 00000000 00000000 00000004 ff979fe0
................
0110: 00009800 00000000 00000000 00000001
................
0120: 00001000 00000000 00000000 00000001
................
0130: ff979fe0 00009800 00000000 00000000
................
0140: 00000001 00001000 00000000 00000000
................
0150: 00000002 ff979fe0 00009800 00000000
................
0160: 00000000 00000001 00001000 00000000
................
0170: 00000000 00000003 ff979fe0 00009800
................
0180: 00000000 00000000 00000001 00001000
................
0190: 00000000 00000000 00000004 ff979fe0
................
01a0: 00009800 00000000 00000000 00000001
................
01b0: 00001800 00000000 00000000 00000001
................
01c0: ff979fe0 00009800 00000000 00000000
................
01d0: 00000001 00001800 00000000 00000000
................
01e0: 00000002 ff979fe0 00009800 00000000
................
01f0: 00000000 00000001 00001800 00000000
................
0200: 00000000 00000003 ff979fe0 00009800
................
0210: 00000000 00000000 00000001 00001800
................
0220: 00000000 00000000 00000004 ff979fe0
................
0230: 00009800 00000000 00000000 00000001
................
interrupt-map-mask 00001800 00000000 00000000 00000007
................
interrupt-routing 00000000 ........ ........ ........ ....
interrupts 00000001 ........ ........ ........ ....
model 54584e2c 50434958 5858582d 303000..
"TXN,PCIXXXX-00"
name 63617264 62757300 ........ ........ "cardbus"
ranges 82000000 00000000 90000000 82000000
................
0010: 00000000 90000000 00000000 10000000
................
0020: 81000000 00000000 00000000 81000000
................
0030: 00000000 00000000 00000000 00008000
................
reg 00009800 00000000 00000000 00000000
................
0010: 00000000 02009810 00000000 00000000
................
0020: 00000000 00001000 01009844 00000000
...........D....
0030: 00000000 00000000 00000004 21009898
............!...
0040: 00000000 00000000 00000000 00000010
................
release-level 000007cb ........ ........ ........ ....
reserved-segment 90000000 ........ ........ ........ ....
revision-id 00000000 ........ ........ ........ ....
slot-names 00000000 ........ ........ ........ ....
status-change-int-caps 000000f0 ........ ........ ........ ....
status-change-report-caps
000000f0 ........ ........ ........ ....
vcc-levels 00000004 00000700 00000703 00000705
................
0010: 0000030c ........ ........ ........ ....
vendor-id 0000104c ........ ........ ........ ...L
>> Looking at the OF tree I should use the "name" or "compatible"
>> property for
>> "audio-gpio" and "reg" for "AAPL,address". But the contents of "reg"
>> is not
>> the final address and has probably to be added to some base address of
>> obio?
>
> It /should/ be relative to obio/gpio although sometimes it's relative
> to obio. The whole thing is a mess thanks to Apple being inconsistent
> even withing a single OF variant - my iBook has some gpios with
> addresses relative to obio and others - on the same parent node -
> relative to obio/gpio and the code tries to guess which one it is. So
> please leave existing functionality intact no matter how insane it
> looks, it's there for a reason.
Ok!
I have just committed a modified deq.c, which matches the PowerBook5,6
codec, while leaving the existing functionality intact. :)
> On my iBook the gpio node has an address of 0x50 which is relative to
> obio. Some of its child nodes have addresses < 0x50 which we treat as
> relative to gpio, others have offsets > 0x50 which we treat as
> relative to obio. This works on my iBook G4, it may or may not work on
> other machines with different variants of this insanity.
Ok. I think I have already seen that in the gpio code of obio.c.
>> That's great! I hope I didn't break anything now. Can you also test
>> with my
>> patched ofwboot?
>
> I will. Do you have a beige G3 to confirm?
No, unfortunately not. Besides the new PowerBook I have only a PowerMac G4
(400) and a Mac Mini.
--
Frank Wille
Home |
Main Index |
Thread Index |
Old Index