All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: Markus Reichl <m.reichl@fivetechno.de>,
	Guenter Roeck <linux@roeck-us.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Heiko Stuebner <heiko@sntech.de>,
	Linux USB Mailing List <linux-usb@vger.kernel.org>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	linux-rockchip@lists.infradead.org
Subject: Re: [Bug ?] usb :typec :tcpm :fusb302
Date: Mon, 20 Jan 2020 13:58:28 +0200	[thread overview]
Message-ID: <20200120115828.GC32175@kuha.fi.intel.com> (raw)
In-Reply-To: <0ac6bbe7-6395-526d-213c-ac58a19d8673@fivetechno.de>

Hi Markus,

On Thu, Jan 09, 2020 at 05:29:07PM +0100, Markus Reichl wrote:
> Hi,
> 
> I'm working with a ROC-RK3399-PC arm64 board from firefly, circuit sheet [1].
> The board is powered from an USB-C type connector via an FUSB302 PD controller.
> With measured 15W+ power consumption it should use higher voltage PD modes than
> the standard 5V USB-C mode.
> 
> When I add the related connector node in DTS [2] the FUSB302 initializes
> the right PD mode (e.g. 15V/3A).
> 
> But during initialisation the PD is switched off shortly and the board has a blackout.
> When I inject a backup supply voltage behind the FUSB302 (e.g. at SYS_12V line) during boot
> I can remove the backup after succesfull setting up the PD and the board will run fine.
> 
> Is it possible to change the behaviour of the fusb302 driver to not power down the PD supply
> during init?

I guess it's also possible that the problem is with tcpm.c instead of
fusb302.c. tcpm.c provides the USB PD state matchines. Guenter! Can
you take a look at this?

Both tcpm.c and fusb302.c create debugfs entries that have a more
detailed log about things that are happening. Can you check what you
have in those (when you boot with the mains cable plugged it)?

        % mount debugfs -t debugfs /sys/kernel/debug
        % cat /sys/kernel/debug/tcpm*
        % cat /sys/kernel/debug/fusb302/*

Which kernel are you running by the way?

> In vendor kernel (4.4) this is done somehow but the sources are too different for me to find
> out how.
> 
> Gruß,
> -- 
> Markus Reichl
> 
> [1]
> http://download.t-firefly.com/product/RK3399/Docs/Hardware/%E5%8E%9F%E7%90%86%E5%9B%BE%E5%92%8C%E8%B4%B4%E7%89%87%E5%9B%BE/ROC-RK3399-PC/ROC-3399-PC-V10-A-20180804_%E5%8E%9F%E7%90%86%E5%9B%BE.pdf
> 
> [2]
> https://lkml.org/lkml/2019/12/10/517

-- 
heikki

  reply	other threads:[~2020-01-20 11:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-09 16:29 [Bug ?] usb :typec :tcpm :fusb302 Markus Reichl
2020-01-20 11:58 ` Heikki Krogerus [this message]
2020-01-20 14:01   ` Markus Reichl
2020-01-20 14:21   ` Guenter Roeck
2020-01-20 14:34     ` Markus Reichl
2020-01-20 14:34       ` Markus Reichl
2020-01-20 16:04       ` Guenter Roeck
2020-01-20 20:14         ` Markus Reichl
2020-01-20 20:26           ` Guenter Roeck
2020-01-20 21:02             ` Markus Reichl

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=20200120115828.GC32175@kuha.fi.intel.com \
    --to=heikki.krogerus@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heiko@sntech.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=m.reichl@fivetechno.de \
    /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.