public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: Jon Flatley <jflat@chromium.org>
Cc: Benson Leung <bleung@google.com>,
	enric.balletbo@collabora.com,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Benson Leung <bleung@chromium.org>,
	groeck@chromium.org, sre@kernel.org,
	Prashant Malani <pmalani@chromium.org>
Subject: Re: [PATCH 0/3] ChromeOS EC USB-C Connector Class
Date: Thu, 14 Nov 2019 17:24:32 +0200	[thread overview]
Message-ID: <20191114152432.GD4013@kuha.fi.intel.com> (raw)
In-Reply-To: <CACJJ=pxba6=SR=kWO-vgqU=wkj7gnVAm62b2tcYf2K+1ucySRg@mail.gmail.com>

Hi Jon,

On Wed, Nov 13, 2019 at 05:09:56PM -0800, Jon Flatley wrote:
> > I'll go over these tomorrow, but I have one question already. Can you
> > guys influence what goes to the ACPI tables?
> >
> > Ideally every Type-C connector is always described in its own ACPI
> > node (or DT node if DT is used). Otherwise getting the correct
> > capabilities and especially connections to other devices (like the
> > muxes) for every port may get difficult.
> 
> Hey Heikki, thank you for your quick response!
> 
> In general we do have control over the ACPI tables and over DT. The
> difference for ChromeOS is that the PD implementation and policy
> decisions are handled by the embedded controller. This includes
> alternate mode transitions and control over the muxes. I don't believe
> there is any information about port capabilities in ACPI or DT, that's
> all handled by the EC. With current EC firmware we are mostly limited
> to querying the EC for port capabilities and state. There may be some
> exceptions to this, such as with Rockchip platforms, but even then the
> EC is largely in control.

The capabilities here mean things like is the port: source, sink or
DRP; host, device or DRD; etc. So static information.

I do understand that the EC is in control of the Port Controller (or
PD controller), the muxes, the policy decisions and what have you, and
that is fine. My point is that the operating system should not have to
get also the hardware description from the EC. That part should always
come from ACPI tables or DT, even when the components are attached to
the EC instead of the host CPU. Otherwise we loose scalability for no
good reason.

Note. The device properties for the port capabilities are already
documented in kernel:
Documentation/devicetree/bindings/connector/usb-connector.txt (the
same properties work in ACPI as well).

> I think you raise a valid point, but such a change is probably out of
> scope for this implementation.

This implementation should already be made so that it works with a
properly prepared ACPI tables or DT. If there are already boards that
don't supply the nodes in ACPI tables for the ports, then software
nodes can be used with those, but all new boards really should have a
real firmware node represeting every Type-C port.

thanks,

-- 
heikki

  reply	other threads:[~2019-11-14 15:24 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-13  3:10 [PATCH 0/3] ChromeOS EC USB-C Connector Class Jon Flatley
2019-11-13  3:10 ` [PATCH 1/3] platform: chrome: Add cros-ec-usbpd-notify driver Jon Flatley
2019-11-14 21:43   ` Enric Balletbo Serra
2019-11-13  3:10 ` [PATCH 2/3] power: supply: cros-ec-usbpd-charger: Fix host events Jon Flatley
2019-11-14 21:53   ` Enric Balletbo Serra
2019-11-13  3:10 ` [PATCH 3/3] platform: chrome: Added cros-ec-typec driver Jon Flatley
2019-11-13 12:55   ` kbuild test robot
2019-11-13 17:23     ` Jon Flatley
2019-11-14  0:55       ` [kbuild-all] " Rong Chen
2019-11-14  1:07       ` Guenter Roeck
2019-11-14 16:53   ` Heikki Krogerus
2019-11-13 17:51 ` [PATCH 0/3] ChromeOS EC USB-C Connector Class Benson Leung
2019-11-13 18:25   ` Heikki Krogerus
2019-11-14  1:09     ` Jon Flatley
2019-11-14 15:24       ` Heikki Krogerus [this message]
2019-11-14 21:00         ` Jon Flatley
2019-11-15 16:41           ` Heikki Krogerus

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=20191114152432.GD4013@kuha.fi.intel.com \
    --to=heikki.krogerus@linux.intel.com \
    --cc=bleung@chromium.org \
    --cc=bleung@google.com \
    --cc=enric.balletbo@collabora.com \
    --cc=groeck@chromium.org \
    --cc=jflat@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmalani@chromium.org \
    --cc=sre@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox