1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- package main
- import "fmt"
- func FIXMEEC(ctx Context) {
- ap := Create(ctx, "acpi/platform.asl")
- defer ap.Close()
- hasKeyboard := ctx.InfoSource.HasPS2()
- sbGPE := GuessECGPE(ctx)
- var GPEUnsure bool
- if sbGPE < 0 {
- sbGPE = SouthBridge.EncodeGPE(1)
- GPEUnsure = true
- SouthBridge.NeedRouteGPIOManually()
- } else {
- GPEUnsure = false
- SouthBridge.EnableGPE(SouthBridge.DecodeGPE(sbGPE))
- }
- Add_gpl(ap)
- ap.WriteString(
- `Method(_WAK, 1)
- {
- /* FIXME: EC support */
- Return(Package() {0, 0})
- }
- Method(_PTS,1)
- {
- /* FIXME: EC support */
- }
- `)
- ecs := ctx.InfoSource.GetEC()
- MainboardIncludes = append(MainboardIncludes, "ec/acpi/ec.h")
- MainboardIncludes = append(MainboardIncludes, "console/console.h")
- MainboardInit +=
- ` /* FIXME: trim this down or remove if necessary */
- {
- int i;
- const u8 dmp[256] = {`
- for i := 0; i < 0x100; i++ {
- if (i & 0xf) == 0 {
- MainboardInit += fmt.Sprintf("\n\t\t\t/* %02x */ ", i)
- }
- MainboardInit += fmt.Sprintf("0x%02x,", ecs[i])
- if (i & 0xf) != 0xf {
- MainboardInit += " "
- }
- }
- MainboardInit += "\n\t\t};\n"
- MainboardInit += `
- printk(BIOS_DEBUG, "Replaying EC dump ...");
- for (i = 0; i < 256; i++)
- ec_write (i, dmp[i]);
- printk(BIOS_DEBUG, "done\n");
- }
- `
- KconfigBool["EC_ACPI"] = true
- si := Create(ctx, "acpi/superio.asl")
- defer si.Close()
- if hasKeyboard {
- Add_gpl(si)
- si.WriteString("#include <drivers/pc80/pc/ps2_controller.asl>\n")
- MainboardInit += fmt.Sprintf("\tpc_keyboard_init(NO_AUX_DEVICE);\n")
- MainboardIncludes = append(MainboardIncludes, "pc80/keyboard.h")
- }
- ec := Create(ctx, "acpi/ec.asl")
- defer ec.Close()
- Add_gpl(ec)
- ec.WriteString(`Device(EC)
- {
- Name (_HID, EISAID("PNP0C09"))
- Name (_UID, 0)
- `)
- if GPEUnsure {
- ec.WriteString("\t/* FIXME: Set GPE */\n")
- ec.WriteString("\t/* Name (_GPE, ?) */\n")
- } else {
- fmt.Fprintf(ec, "\tName (_GPE, %d)\n", sbGPE)
- }
- ec.WriteString("/* FIXME: EC support */\n")
- ec.WriteString("}\n")
- }
|