I use coreboot for ApolloLake CPU (Atom). We have SuperIO WB83627-DHG chip on carrier board. LPC enabled, POST codes work normal. But I can't get access to SIO under Linux (via port 0x2e). Superiotool can't find chip. Also, I have CPLD on LPCB - I use it to view LPC transactions - so, then I try to out byte to 0x2e - transaction on LPC is none. But, I enable UART0 on SIO (via devicetree.cb) - and it works fine. Whats wrong?

Devtree (part):
device pci 1f.0 on # - LPC  
 chip superio/winbond/w83627dhg
  device pnp 2e.0 off end # Floppy
  device pnp 2e.1 off end # Parallel Port
  device pnp 2e.2 on # COM1
   io 0x60 = 0x3f8
   irq 0x70 = 4
  end
  device pnp 2e.3 off # COM2
  end
  device pnp 2e.5 off #  Keyboard
  end
  device pnp 2e.6 off #  SPI
  end
  device pnp 2e.307 off #  GPIO 1
  end
  device pnp 2e.8 off #  WDTO#, PLED
  end
  device pnp 2e.009 off #  GPIO2
  end
  device pnp 2e.109 off #  GPIO3
  end
  device pnp 2e.209 off #  GPIO4
  end
  device pnp 2e.309 off #  GPIO5
  end
  device pnp 2e.a off #  ACPI
  end
  device pnp 2e.b off # HWM
  end
  device pnp 2e.c off # PECI, SST
  end
 end # w83627dhg

PNP020C (in /sys/bus/pnp/devices/00:01) resources:

state = active
io 0x2e-0x2f
io 0x4e-0x4f
io 0x61-0x61
io 0x63-0x63
io 0x65-0x65
io 0x67-0x67
io 0x80-0x80
io 0x92-0x92
io 0xb2-0xb3
io 0x400-0x4fe


dsdt.asl from coreboot:

#include <acpi/acpi.h>
DefinitionBlock(
"dsdt.aml",
"DSDT",
0x02, // DSDT revision: ACPI v2.0 and up
OEM_ID,
ACPI_TABLE_CREATOR,
0x20110725 // OEM revision
)
{
/* global NVS and variables */
#include <soc/intel/apollolake/acpi/globalnvs.asl>

/* CPU */
#include <cpu/intel/common/acpi/cpu.asl>

Scope (\_SB) {
Device (PCI0)
{
 #include <soc/intel/apollolake/acpi/northbridge.asl>
 #include <soc/intel/apollolake/acpi/southbridge.asl>
 #include <soc/intel/apollolake/acpi/pch_hda.asl>
}
}

#include <southbridge/intel/common/acpi/sleepstates.asl>

Scope (\_SB.PCI0.LPCB)
{
 #include <acpi/ec.asl> /* ec is empty */
 #include <acpi/superio.asl>
}

}

--
regards,
Perepelitsin Roman