Subject: Re: hardware monitors on newer iBooks/PowerBooks
To: Antoine Reilles <Antoine.Reilles@loria.fr>
From: Michael <macallan18@earthlink.net>
List: port-macppc
Date: 10/12/2005 06:58:15
--Signature_Wed__12_Oct_2005_06_58_15_-0400_DT3DC+vbFK+2M1C/
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hello,

[audio on newer iBook G4]
> ff984cc8: /i2s@0=20
> ff984ec0:   /i2s-a@10000
> ff985080:     /sound
> ffa04d80:   /i2s-b@11000

Interesting. My iBook has only one i2s instance.

> [maybe the superfluous information could be interesting: i don't have
the
> cpu-frequency stuff, and it looks like i can't boot the kernel with
the
> frequency scaling patch, it alfays fails with a "decrementer
exception", or an
> invalid memory access]

Ouch.
So it should definitely check for gpio-grequency, who knows what this
pin does on your hardware...

> so for i2s:
> 0 > dev mac-io/i2s  ok
> 0 > .properties=20
> name                    i2s
> device_type             i2s
> built-in               =20
> reg                     00000000  00005000=20
>                         00000000  00000a00=20
> ranges                 =20
> #address-cells          00000001=20
> AAPL,address            80010000=20
>  ok
> =20
> not very interesting,

Indeed, just a category it seems.

 but i have these i2s-a and i2s-b:
> 0 > dev mac-io/i2s/i2s-a  ok
> 0 > .properties=20
> name                    i2s-a
> device_type             soundbus
> compatible              i2sbus
> built-in               =20
> reg                     00010000  00001000=20
>                         00008000  00000100=20
>                         00008100  00000100=20
> interrupts              0000001e 00000001 00000001 00000000 00000002
00000000=20
> interrupt-parent      =20
/pci@f2000000/mac-io@17/interrupt-controller@40000
> platform-headphone-mute
/pci@f2000000/mac-io@17/gpio@50/headphone-mute@1f
> platform-amp-mute       /pci@f2000000/mac-io@17/gpio@50/amp-mute@20
> platform-hw-reset       /pci@f2000000/mac-io@17/gpio@50/hw-reset@25
> platform-linein-detect=20
/pci@f2000000/mac-io@17/gpio@50/linein-detect@c
> platform-headphone-detect
/pci@f2000000/mac-io@17/gpio@50/headphone-detect@17
> platform-get-enable     /pci@f2000000/mac-io@17
> platform-enable         /pci@f2000000/mac-io@17
> platform-disable        /pci@f2000000/mac-io@17
> platform-get-clock-enable /pci@f2000000/mac-io@17
> platform-clock-enable   /pci@f2000000/mac-io@17
> platform-clock-disable  /pci@f2000000/mac-io@17
> platform-get-sw-reset   /pci@f2000000/mac-io@17
> platform-clear-sw-reset /pci@f2000000/mac-io@17
> platform-sw-reset       /pci@f2000000/mac-io@17
> platform-get-cell-enable/pci@f2000000/mac-io@17
> platform-cell-enable    /pci@f2000000/mac-io@17
> platform-cell-disable   /pci@f2000000/mac-io@17

This is nice - it tells us which gpio pins to use for detecting
headphones and such, should probably be used by the driver when present.
The reg property looks more or less the same as for snapper which isn't
really a surprise, it's only the DMA engine after all.

>  ok
>=20
> and the sound:
> 0 > dev mac-io/i2s/i2s-a/sound  ok
> 0 > .properties=20
> name                    sound
> device_type             soundchip
> compatible              AOAbase
> built-in               =20
> layout-id               00000048=20
> object-model-version    00000002=20
> vendor-id               0000106b=20
> platform-tas-codec-ref=20
/pci@f2000000/mac-io@17/i2c@18000/i2c-bus@0/codec@6a
>  ok

Ah, more or less 'this channel sends data to this codec' ;)

> and the i2s-b:
> 0 > dev mac-io/i2s/i2s-b  ok
> 0 > .properties=20
> name                    i2s-b
> device_type             i2s-b
> compatible              i2s-modem
> built-in               =20
> reg                     00011000  00001000=20
>                         00008200  00000100=20
>                         00008300  00000100=20
> interrupts              0000001f 00000001 00000003 00000000 00000004
00000000=20
> interrupt-parent      =20
/pci@f2000000/mac-io@17/interrupt-controller@40000
> sw-reset-enable         00000000=20
>  ok

So that's how you feed data to the modem. In my iBook there's only an
'i2c-modem' which is probably the codec part of the software modem.

> This one is probably the internal modem

Almost certainly.

> I hope this information can help, it would be great to get the sound
> working on this machine.

I think I can cook up something to attach the snapper driver to this,
it's only OF nodes and properties shuffeled around after all. Can't
guarantee it will do anything useful though.

have fun
Michael

--Signature_Wed__12_Oct_2005_06_58_15_-0400_DT3DC+vbFK+2M1C/
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (NetBSD)

iQEVAwUBQ0zsTMpnzkX8Yg2nAQIn4wgAjgVFGq7xyjjOIGaOcUsptmbU7gOHnokk
JXHwtb2oBUfCvuVL9SILJu13xL1PMkWDyfEY0tBsQ7Ibi1M7PlKiYZ1MARX6Flz/
0momOlxoWudPqWLbjVGzpj3/rrE3AgrDxmrjqtx2VHkjggoL9bT3AobufHpA+87/
PHG60ERb7IotcKyGTmxS2I9Duk53MQ2/8sEVURX3EKi81PmpgE+FIvnLtY5Y+ola
OxKwmBbu/3S47+UyHQSSSuhKU0VUdXY+mVA1UyhhQFVa2Tam2lLLONKDX9lP8jIl
YSUGO5ZjO2HpZ7BmYfMfITnXPf3n28uRTNpqU3tMAF8tFCz3+I6Ohw==
=8ogT
-----END PGP SIGNATURE-----

--Signature_Wed__12_Oct_2005_06_58_15_-0400_DT3DC+vbFK+2M1C/--