
On Tue, Aug 29, 2017 at 7:49 AM, Bin Meng bmeng.cn@gmail.com wrote:
On Tue, Aug 29, 2017 at 1:12 AM, Andy Shevchenko andy.shevchenko@gmail.com wrote:
I have a preliminary working ACPI tables for Intel Edison (to replace ugly SFI provided by firmware). What I would like to ask is how better from your point of view to proceed.
I have apparently not all devices covered in the tables, though I have almost stable code which brings ACPI support to Edison.
I see few options here: 0. Do nothing :-)
- Apply ACPI code, but leave no tables applied yet.
- Apply both and amend whenever problem occurs.
- Postpone until kernel will be ready for that (*)
- ...other option...?
I would vote for option 2.
*) LInux kernel (vanilla) is not ready for this change. It means in all above cases there will be neither new config file (like edison_acpi_defconfig) nor modification to the existing one (of course!). The stuff is highly experimental now.
(Just to clarify, configurations mentioned in above remark are related solely for U-Boot)
Does Linux kernel need to do anything to support ACPI on Intel Edison?
There are few groups of problems: 1. Edison has an _ugly_ SFI which means the kernel has many platform drivers, like board code, that enumerated from hard coded platform data. 2. ACPI is kinda artificial on Edison, that's why it uses HW reduced bit set, and kernel, surprise, surprise, has bugs in that code. 3. Drivers for devices that located on extension boards like Edison/Arduino are not ready to be enumerated via ACPI (this one optional and can be done later). 4. There is lack of framework such as pin control ACPI (glue layer between ACPICA and pin control which I'm working on as a main task), though in the sense of Linux kernel it affect entire x86 world.
My understanding is that ACPI is a standard spec, and as long as our U-Boot implementation matches the spec, Linux kernel can support it out of the box.
That's correct, though see above.
P.S. There is a wiki page that I'm filling with my progress wrt topic: https://edison.internet-share.com/wiki/ACPI