All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Young <sean@mess.org>
To: Michael Zimmermann <sigmaepsilon92@gmail.com>
Cc: linux-media@vger.kernel.org
Subject: Re: ITE8708 on ASUS PN50 uses a 16 byte io region
Date: Sat, 26 Sep 2020 23:03:24 +0100	[thread overview]
Message-ID: <20200926220324.GA30485@gofer.mess.org> (raw)
In-Reply-To: <CAN9vWDK5EF4-9-SXpMHObEesbU5-2O-dK8j9m4x2gvD5CgfpiQ@mail.gmail.com>

On Sat, Sep 26, 2020 at 04:18:10PM +0200, Michael Zimmermann wrote:
> On Sat, Sep 26, 2020 at 3:33 PM Sean Young <sean@mess.org> wrote:
> >
> > Hi Michael,
> >
> > On Sat, Sep 26, 2020 at 02:32:21PM +0200, Michael Zimmermann wrote:
> > > The acpi _HID name of the device is "ITE8708" and the device works
> > > with linux's ITE8708 config.
> > >
> > > I can't find any datasheet or even product page for that IC so I don't
> > > know what footprint to look for when looking at the PCB - none of the
> > > bigger ICs near the IR sensor have that name on them and the smaller
> > > ones usually don't have any useful information printed on them.
> > > Additionally I can only access one side of the PCB because I couldn't
> > > figure out how to fully disassemble the device yet.
> >
> > This is a super i/o device, so this handles stuff like serial ports,
> > parallel ports, floppy disks. All the legacy stuff you don't need any more.
> >
> > There is a coreboot tool which can identify super i/o devices:
> >
> >         https://www.coreboot.org/Superiotool
> >
> > The super io devices I've seen are about 2cm by 3cm.
> >
> > I could find a datasheet for the IT8712F on google.
> >
> >
> > Sean
> >
> > PS. Please don't top post.
> 
> Hi Sean,
> 
> superiotool r4.12-2974-ga32df26ec07
> Found Aspeed AST2400 (id=0x00) at 0x2e
> 
> Which is kinda confusing. So either the superiotool detection is
> flawed or the PN50 actually has an AST2400 and is programmed to
> emulate the IR part of an IT8708F.
> Also, that thing seems beefy enough to be the systems EC, does that seem likely?

Strange. To be honest, I don't know.

So looking at the driver, there are four models supported. They have an
io_region_size of IT87_IOREG_LENGTH, IT8708_IOREG_LENGTH, and
IT8709_IOREG_LENGTH. That's 8, 8, and 2. The header file also has a size
of IT85_IOREG_LENGTH which is 16, but this is not used anywhere.

The documentation I can find for one IT85 model is:

http://www.recomb-omsk.ru/published/SC/html/scripts/doc/94689_datasheet_IT8512E_F_V0.4.1.pdf

As far as I can make out, if it was this device, the driver wouldn't work
at all.

I'm thinking the likely explanation is that the DSDT is wrong and we should
make the change as you originally suggested.


Sean


> 
> Thanks
> Michael
> >
> > >
> > > Thanks
> > > Michael
> > >
> > > On Sat, Sep 26, 2020 at 1:30 PM Sean Young <sean@mess.org> wrote:
> > > >
> > > > On Sat, Sep 26, 2020 at 10:22:46AM +0200, Michael Zimmermann wrote:
> > > > > Hi,
> > > > >
> > > > > here's the resource descriptor from my DSDT:
> > > > > Name (BUF0, ResourceTemplate ()
> > > > > {
> > > > >     IO (Decode16,
> > > > >         0x0000,             // Range Minimum
> > > > >         0x0000,             // Range Maximum
> > > > >         0x01,               // Alignment
> > > > >         0x10,               // Length
> > > > >         _Y1A)
> > > > >     IRQNoFlags (_Y1B)
> > > > >         {}
> > > > >     DMA (Compatibility, NotBusMaster, Transfer8, )
> > > > >         {}
> > > > > })
> > > > >
> > > > > As you can see it uses 16 bytes for the IO region while the driver
> > > > > drivers/media/rc/ite-cir.c expects 8.
> > > > > I don't see any obvious reason why they do that since they only seem
> > > > > to write two words in there, and if I edit the DSDT to change the
> > > > > length from 0x10 to 0x8 the linux driver detects the device properly
> > > > > it works just fine.
> > > > >
> > > > > So is this a bug on ASUS' side or should we just accept longer regions
> > > > > for the same device type?
> > > >
> > > > So looking at the driver, some devices do have an io region of 16 and
> > > > others expect 8. See the io_region_size field of ite_dev_descs.
> > > >
> > > > So for ITE8708 the io_region_size is set to 8. Does your device really
> > > > have an ITE8708 or is the DSDT wrong?
> > > >
> > > >
> > > > Sean

  reply	other threads:[~2020-09-26 22:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-26  8:22 ITE8708 on ASUS PN50 uses a 16 byte io region Michael Zimmermann
2020-09-26 11:30 ` Sean Young
2020-09-26 12:32   ` Michael Zimmermann
2020-09-26 13:33     ` Sean Young
2020-09-26 14:18       ` Michael Zimmermann
2020-09-26 22:03         ` Sean Young [this message]
2020-11-17 21:47           ` Michael Zimmermann
2020-11-18 12:15             ` Sean Young

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200926220324.GA30485@gofer.mess.org \
    --to=sean@mess.org \
    --cc=linux-media@vger.kernel.org \
    --cc=sigmaepsilon92@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.