On Tue, Jun 13, 2017 at 02:38:26PM +0000, Gabriele Paoloni wrote: > > Is there an example ASL showing how these LPC devices are > > currently presented in ACPI? > > Please find below the asl sketch for our LPC and IPMI > > // > // LPC > // > > Scope(_SB) { > Device (LPC0) { > Name (_HID, "HISI0191") // HiSi LPC > Name (_CRS, ResourceTemplate () { > Memory32Fixed (ReadWrite, 0xa01b0000, 0x1000) > }) > } > > Device (LPC0.IPMI) { > Name (_HID, "IPI0001") > Method (_IFT) { > Return (0x03) > } > Name (LORS, ResourceTemplate() { > QWordIO ( > ResourceConsumer, > MinNotFixed, // _MIF > MaxNotFixed, // _MAF > PosDecode, > EntireRange, > 0x0, // _GRA > 0xe4, // _MIN > 0x3fff, // _MAX > 0x0, // _TRA > 0x04, // _LEN > , , > BTIO > ) > }) > CreateQWordField (LORS, BTIO._MIN, CMIN) > CreateQWordField (LORS, BTIO._MAX, CMAX) > CreateQWordField (LORS, BTIO._LEN, CLEN) > > Method (_PRS, 0) { > Return (LORS) > } > > Method (_CRS, 0) { > Return (LORS) > } > Method (_SRS, 1) { > CreateQWordField (Arg0, \_SB.LPC0.IPMI.BTIO._MIN, IMIN) > Store (IMIN, CMIN) > CreateQWordField (Arg0, \_SB.LPC0.IPMI.BTIO._MAX, IMAX) > Store (IMAX, CMAX) > } > } > [...] > } Thanks. So this looks pretty much like normal Linux MFD device which we already have support for adding ACPI bindings to child devices. It should also support splitting resources to child devices IIRC.