Hi Piotri

Just be sure about your fan embedded controller, because as far as I know
the ec do not follow the same registers map.

Rafael Machado
Em 08/05/2014 19:37, "Laszlo Ersek" <[email protected]> escreveu:

> On 05/08/14 23:10, Piotr Król wrote:
> > On Wed, May 07, 2014 at 10:22:06AM +0200, Paolo Bonzini wrote:
> >>
> >> What Laszlo said is correct.  In PIIX4, the SMBus registers are not in a
> >> BAR, instead you can read the base I/O address in the PCI configuration
> >> space of the device at 00:01.3, bytes 0x90...0x91 (bit 0 is 1 for I/O
> >> space).  Writing 0x9 at byte 0xd2 of the configuration space enables it,
> >> so from Linux you'd have:
> >>
> >>      $ setpci -s 01.3 0x90.w
> >>      0xb101
> >>
> >> 0xb100 is the default, but it can be changed.
> >>
> >> Because they're not in a BAR you probably need to access them directly
> >> without using the PCI support in UEFI.  You can use PCI support routines
> >> to access the configuration space.
> >>
> >
> > Laszlo, Paolo,
> > thank you for reply. I will try to implement UEFI application to read
> > temperature sensor in OVMF. I saw some I2cDxe and I2c protocol code so
> > will investigate that.
>
> It doesn't seem easy.
>
> >From a cursory look, the by-the-book solution would be:
> - Write a driver that implements the following three protocols for the
>   QEMU i2c hardware:
>
>   - EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL
>     MdePkg/Include/Protocol/I2cBusConfigurationManagement.h
>
>   - EFI_I2C_MASTER_PROTOCOL
>     MdePkg/Include/Protocol/I2cMaster.h
>
>   - EFI_I2C_ENUMERATE_PROTOCOL
>     MdePkg/Include/Protocol/I2cEnumerate.h
>
> - Include this new driver in the OVMF build (DSC, FDF files).
>
> - Include "MdeModulePkg/Bus/I2c/I2cDxe/I2cDxe.inf" too. What happens is
>
>   EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL  EFI_I2C_MASTER_PROTOCOL
>                                               \  /
>         EFI_I2C_ENUMERATE_PROTOCOL  EFI_I2C_HOST_PROTOCOL (by I2cHost.c)
>                                  \  /
>                           EFI_I2C_IO_PROTOCOL (by I2cBus.c)
>
> - Write an application that locates handles that have an
>   EFI_I2C_IO_PROTOCOL interface, identifies the one device that you
>   care about, and communicates with it.
>
> It's probably much simpler to go for an app that accesses ports directly.
>
> Laszlo
>
>
> ------------------------------------------------------------------------------
> Is your legacy SCM system holding you back? Join Perforce May 7 to find
> out:
> &#149; 3 signs your SCM is hindering your productivity
> &#149; Requirements for releasing software faster
> &#149; Expert tips and advice for migrating your SCM now
> http://p.sf.net/sfu/perforce
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
------------------------------------------------------------------------------
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
&#149; 3 signs your SCM is hindering your productivity
&#149; Requirements for releasing software faster
&#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to