Hi Peter On Wed, Jan 27, 2016 at 6:17 PM, Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> wrote: > The ACPI device definition block is not right. > I mean, the whole point of ACPI is to _define_ the h/w so the OS > doesn't h/w probe. > > Is this in your firmware that you can update? > Unfortunately, it is part of the BIOS blob that I am not in control of. > >> I cannot find anything that makes it differentiable form a standard >> 16550A, but ACPI is definately not my mother tonge :) >> >> Device (UAR1) >> { >> Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID > > Instead of using an _HID of PNP0501, this device definition should be > using a Fintek-specific _HID (Fintek has an assigned PNP prefix of "FIT"). > > Then it could *also* have a _CID of PNP0501, which allows the OS to > "fallback" to generic uart support in the absence of a "FITxxxx" driver. I see, but even if I was in control of the ACPI table, which FITxxx string should I use? The documentation from the chip does not mention any. If I chose one myself there is no warrantee that the rest of the world would follow my decision, resulting in a driver that can be used exclusively on my board :S. The approach from this patch is similar to the parport_pc ./drivers/parport/parport_pc.c -> static void __init parport_pc_find_ports(int autoirq, int autodma) { int count = 0, err; #ifdef CONFIG_PARPORT_PC_SUPERIO detect_and_report_it87(); detect_and_report_winbond(); detect_and_report_smsc(); #endif static void detect_and_report_winbond(void) { if (verbose_probing) printk(KERN_DEBUG "Winbond Super-IO detection, now testing ports 3F0,370,250,4E,2E ...\n"); winbond_check(0x3f0, 0x87); winbond_check(0x370, 0x87); winbond_check(0x2e , 0x87); winbond_check(0x4e , 0x87); winbond_check(0x3f0, 0x86); winbond_check2(0x250, 0x88); winbond_check2(0x250, 0x89); } Here they probe all those io ports, including 0x4e and 0x2e like in my chip. If I have to guess I would say that all the fintek serial ports on the field are declared only as PNP0501, not only my board :S Thanks! -- Ricardo Ribalda -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html