Re: axp288 on Intel HW

From: Tom Jones <thj_at_freebsd.org>
Date: Thu, 22 Nov 2018 12:51:42 +0000
On Thu, Nov 22, 2018 at 06:17:45AM +0100, Emmanuel Vadot wrote:
> 
>  Hi,
> 
>  Allwinner PMIC on X86, interesting :)
> 
> On Fri, 16 Nov 2018 08:51:31 +0000
> Johannes Lundberg <johalun0_at_gmail.com> wrote:
> 
> > Hi
> > 
> > I have a Lenovo Ideapad Miix 310 that has a Intel CherryTrail CPU and it
> > runs FreeBSD quite nicely (with accelerated graphics). What I'm missing is
> > battery life status..
> > 
> > I can get this information using smb (for some reason i2c just returns
> > error sending start condition)
> > smbmsg -f /dev/smb6 -s 0x68 -c 0xB9 -i 1 -F %d
> > 
> > In emergency this works but it would be nice to have a kernel driver for
> > it.
> > 
> > I found the axp2xx driver for Allwinner in the tree. Would it be possible
> > to share this with amd64 with not too much effort?
> 
>  The first step would be to add acpi attach functions (no idea how this
> works), then compare the registers with the pmics supported by the
> axp2xx driver to check what regulators are present and controllable (if
> any) and also checking the registers for talking to the battery
> controller part.
>  I don't see why it wouldn't work but I haven't checked details on how
> supported chips differs with this one.
> 
> > 
> > If not, all I'm really interested in is battery status so I might just hack
> > together a simple driver for that report values to hw.acpi.battery (because
> > I don't think there is a sysctl for battery info that aggregates different
> > sources?)
> 
>  We don't have a generic battery/power supply framework yes.


On an ACPI there is an IOCTL that will collate battery information from
anything in the battery devclass. There is an acpi_battery_register
function, but what it actually does is set up sysctls.

I have a patch to land (hopefully this week) that you would need first. 

I have a driver for a maxim fuel gauge on a unreasonably complicated laptop
that includes an example of what you have to do to be a battery:

https://github.com/adventureloop/gpdpocket/blob/master/chvpower/chvpower.c#L148

To support battery on arm (say for the pinebook) we need a more general
system. I plan to extract out the current battery code from acpi as a
first attempt at this.

- [tj]
Received on Thu Nov 22 2018 - 11:51:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:19 UTC