IR on lombard?
Michael Schmitz
schmitz at amber.biophys.uni-duesseldorf.de
Wed Oct 27 23:41:20 EST 1999
> >ttyS1 isn't recognized as IR port on my lombard. How do I dump the device
> >tree?
>
> Get lsprop from ftp://devel.linuxppc.org/users/paulus/misc
>
> and use it from /proc/device-tree
Ok, here's a patch for proper IrDA detection on the Lombard:
--- drivers/macintosh/macserial.c.org Wed Oct 27 00:16:02 1999
+++ drivers/macintosh/macserial.c Wed Oct 27 00:50:09 1999
@@ -2237,7 +2237,7 @@
struct mac_zschannel *zs_chan_a)
{
struct device_node *ch = zss->dev_node;
- char *conn;
+ char *conn, *slot_name;
int len;
zss->irq = ch->intrs[0].line;
@@ -2264,6 +2264,15 @@
should do no harm anyway */
conn = get_property(ch, "AAPL,connector", &len);
zss->is_pwbk_ir = conn && (strcmp(conn, "infrared") == 0);
+
+ /*
+ * MSch: tested on Lombard; the AAPL,connector property does't exist there
+ * so we evaluate the slot-names property instead.
+ */
+ slot_name = get_property(ch, "slot-names", &len);
+ if (slot_name && len > 4 && (unsigned char) slot_name[3] == 1) {
+ zss->is_pwbk_ir |= (strncmp(&slot_name[4], "IrDA", len-4) == 0);
+ }
if (zss->has_dma) {
zss->dma_priv = NULL;
It seems that the slot-names property is relevant on the Lombard. I'm too
lazy to turn the above slot-names evaluation into a proper OF probe
function. The first four bytes seem too hold the number of names, followed
by that many null terminated strings. Modem and IrDA have a single slot
name of Modem and IrDA (surprise, surprise).
With this patch, the second SCC port is properly identified as IR port,
but that's as far as I can test it. The serial driver contains code to
enable the IR LED, but I recall BenH saying that the PMU hook may need
work on the Lombard.
I might get an IrDA equipped printer soon, until then please try the
above patch and experiment with ttyS1.
Michael
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list