mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Wayne Chang <waynec@nvidia.com>
To: Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>
Cc: Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	Thierry Reding <treding@nvidia.com>,
	"heikki.krogerus@linux.intel.com"
	<heikki.krogerus@linux.intel.com>, Ajay Gupta <ajayg@nvidia.com>,
	"kishon@ti.com" <kishon@ti.com>,
	"vkoul@kernel.org" <vkoul@kernel.org>,
	"p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
	"balbi@kernel.org" <balbi@kernel.org>,
	"mathias.nyman@intel.com" <mathias.nyman@intel.com>,
	Jui Chang Kuo <jckuo@nvidia.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Sing-Han Chen <singhanc@nvidia.com>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	"linux-phy@lists.infradead.org" <linux-phy@lists.infradead.org>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH 03/11] dt-bindings: usb: Add binding for Cypress cypd4226 I2C driver
Date: Thu, 3 Nov 2022 10:47:11 +0000	[thread overview]
Message-ID: <3edaa3c8-f0fb-3b87-4f33-324d5b964aea@nvidia.com> (raw)
In-Reply-To: <Y1viIsL+Nxthc97j@orome>



On 10/28/22 22:07, Thierry Reding wrote:
> On Fri, Oct 28, 2022 at 01:42:36PM +0100, Jon Hunter wrote:
>> On 28/10/2022 13:31, Thierry Reding wrote:
>>> On Wed, Oct 26, 2022 at 08:13:57AM +0100, Jon Hunter wrote:
>>>> On 24/10/2022 08:41, Wayne Chang wrote:
>>>>> add device-tree binding documentation for Cypress cypd4226 type-C
>>>>> controller's I2C interface. It is a standard i2c slave with GPIO
>>>>> input as IRQ interface.
>>>>>
>>>>> Signed-off-by: Wayne Chang<waynec@nvidia.com>
>>>>> ---
>>>>>     .../bindings/usb/cypress,cypd4226.yaml        | 86 +++++++++++++++++++
>>>>>     1 file changed, 86 insertions(+)
>>>>>     create mode 100644 Documentation/devicetree/bindings/usb/cypress,cypd4226.yaml
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/usb/cypress,cypd4226.yaml b/Documentation/devicetree/bindings/usb/cypress,cypd4226.yaml
>>>>> new file mode 100644
>>>>> index 000000000000..5ac28ab4e7a1
>>>>> --- /dev/null
>>>>> +++ b/Documentation/devicetree/bindings/usb/cypress,cypd4226.yaml
>>>>> @@ -0,0 +1,86 @@
>>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>>>> +%YAML 1.2
>>>>> +---
>>>>> +$id:http://devicetree.org/schemas/usb/cypress,cypd4226.yaml#
>>>>> +$schema:http://devicetree.org/meta-schemas/core.yaml#
>>>>> +
>>>>> +title: Cypress cypd4226 UCSI I2C Type-C Controller
>>>>> +
>>>>> +maintainers:
>>>>> +  - Wayne Chang<waynec@nvidia.com>
>>>>> +
>>>>> +description: |
>>>>> +  The Cypress cypd4226 UCSI I2C type-C controller is a I2C interface type-C
>>>>> +  controller.
>>>>> +
>>>>> +properties:
>>>>> +  compatible:
>>>>> +    const: cypress,cypd4226
>>>>> +
>>>>> +  '#address-cells':
>>>>> +    const: 1
>>>>> +
>>>>> +  '#size-cells':
>>>>> +    const: 0
>>>>> +
>>>>> +  reg:
>>>>> +    const: 0x08
>>>>> +
>>>>> +  interrupts:
>>>>> +    maxItems: 1
>>>>> +
>>>>> +  cypress,firmware-build:
>>>>> +    enum:
>>>>> +      - nv
>>>>> +      - gn
>>>>> +    description: |
>>>>> +      the name of the CCGx firmware built for product series.
>>>>> +      should be set one of following:
>>>>> +      - "nv" for the RTX product series
>>>> Please add 'NVIDIA' so that it is 'for the NVIDIA RTX product series'
>>>>
>>>>> +      - "gn" for the Jetson product series
>>>> Same here please add 'NVIDIA' so that it is 'for the NVIDIA Jetson product
>>>> series'.
>>>>
>>>> Rob, any concerns about this property in general? Unfortunately, ACPI choose
>>>> a 16-bit type for this and used 'nv' for the RTX product. I don't find 'gn'
>>>> for Jetson very descriptive but we need a way to differentiate from RTX.
>>>>
>>>> This is needed in the Cypress CCGX driver for the following ...
>>>>
>>>> https://lore.kernel.org/lkml/20220928150840.3804313-1-waynec@nvidia.com/
>>>>
>>>> Ideally, this should have been included in this series but was sent before.
>>>> We can always re-work/update the above patch even though it has been queued
>>>> up now.
>>> The driver seems to use this 16-bit value only to compare with a
>>> corresponding field in the firmware headers. How exactly we obtain this
>>> value is therefore not important. However, since this 16-bit value is
>>> embedded in firmware images, we also cannot substitute them with
>>> something more sensible.
>> I am actually wondering if this is actually embedded in any images because I
>> see it populated by the i2c-nvidia-gpu.c driver [0]. So I am wondering if we
>> can use PROPERTY_ENTRY_STRING() for this driver instead and have a more
>> descriptive name such as 'nvidia,rtx'?
> What I mean by "embedded in firmware images" is that the value read from
> the property is compared to values read from a firmware blob (either one
> read back from the chip or one loaded using request_firmware()). See for
> example ccg_check_vendor_version() and ccg_check_fw_version().
> 
> So the way that this 16-bit number is used is to define what type of
> vendor firmware we support. So this is also used to avoid trying to load
> a Tegra firmware on a GPU and vice versa.
> 
> So yes, we could potentially still make the i2c-nvidia-gpu.c driver add
> a "nvidia,rtx" string to make it more descriptive like DT, but then we'd
> still need to somehow resolve that to the "nv" string for the assignment
> to uc->fw_build.
> 
> Not sure about how that would impact the AMD bits. Another of those CCGX
> UCSI devices is registered by the i2c-designware-pcidrv.c driver, but it
> doesn't pass a software node. From what I can tell that simply means all
> of those checks will work with fw_build == 0x00. Primarily I think that
> will cause flashing of the firmware not to be supported.
> 
> So yeah, having that string be something else (i.e. more descriptive)
> and then match on that instead would definitely work. After looking at
> this some more, using existing driver-matching may not work after all
> because while there's ACPI matching and with this series DT matching,
> the various GPU I2C instantiations are purely done in software, so they
> have neither and therefore would need a secondary lookup mechanism. We
> may be stuck with that ccgx,firmware-build property, but as you said it
> should be possible to at least sanitize it.
> 

OK. Thanks for the review. I'll make the change to extend the property 
into string in the next patch series.

thanks,
Wayne.


> Thierry
> 
>> Jon
>>
>> [0]https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/i2c/busses/i2c-nvidia-gpu.c#n261
>> -- 
>> nvpublic

  reply	other threads:[~2022-11-03 10:47 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-24  7:41 [PATCH 00/11] Enable USB host and device functions on Jetson Wayne Chang
2022-10-24  7:41 ` [PATCH 01/11] dt-bindings: usb: tegra-xudc: Add Tegra234 XUSB controller support Wayne Chang
2022-10-25 23:24   ` Rob Herring
2022-11-03 10:36     ` Wayne Chang
2022-10-24  7:41 ` [PATCH 02/11] dt-bindings: usb: Add NVIDIA Tegra XUSB host controller binding Wayne Chang
2022-10-24 13:30   ` Rob Herring
2022-10-24 15:58     ` Jon Hunter
2022-10-24 14:54   ` Rob Herring
2022-10-25  8:02     ` Wayne Chang
2022-10-28  2:19       ` Krzysztof Kozlowski
2022-10-28  9:25         ` Jon Hunter
2022-10-28 11:07           ` Jon Hunter
2022-10-28 11:30             ` Thierry Reding
2022-11-03 10:24               ` Wayne Chang
2022-10-24  7:41 ` [PATCH 03/11] dt-bindings: usb: Add binding for Cypress cypd4226 I2C driver Wayne Chang
2022-10-26  1:07   ` Rob Herring
2022-10-26  7:13   ` Jon Hunter
2022-10-28 12:31     ` Thierry Reding
2022-10-28 12:42       ` Jon Hunter
2022-10-28 14:07         ` Thierry Reding
2022-11-03 10:47           ` Wayne Chang [this message]
2022-10-24  7:41 ` [PATCH 04/11] arm64: tegra: Enable XUSB host and device on Jetson AGX Orin Wayne Chang
2022-10-28  2:23   ` Krzysztof Kozlowski
2022-10-28  9:33     ` Jon Hunter
2022-10-28 11:27       ` Krzysztof Kozlowski
2022-10-28 11:34         ` Jon Hunter
2022-10-28 12:38         ` Thierry Reding
2022-10-28 21:48           ` Krzysztof Kozlowski
2022-10-24  7:41 ` [PATCH 05/11] usb: typec: ucsi_ccg: Add OF support Wayne Chang
2022-10-24  7:41 ` [PATCH 06/11] usb: typec: ucsi_ccg: Replace ccgx to well-known regex Wayne Chang
2022-10-24  8:01   ` Heikki Krogerus
2022-10-24  8:29     ` Felipe Balbi
2022-10-24  8:46       ` Heikki Krogerus
2022-10-25  7:26         ` Wayne Chang
2022-10-24  7:41 ` [PATCH 07/11] i2c: nvidia-gpu: " Wayne Chang
2022-11-01 15:07   ` Jon Hunter
2022-11-03 11:36     ` Wayne Chang
2022-10-24  7:41 ` [PATCH 08/11] phy: tegra: xusb: Disable trk clk when not using Wayne Chang
2022-11-05 14:58   ` Vinod Koul
2022-11-07 10:37     ` Wayne Chang
2022-10-24  7:41 ` [PATCH 09/11] phy: tegra: xusb: Add Tegra234 support Wayne Chang
2022-10-28 12:56   ` Thierry Reding
2022-11-03 11:42     ` Wayne Chang
2022-11-05 15:01   ` Vinod Koul
2022-11-07 10:36     ` Wayne Chang
2022-10-24  7:41 ` [PATCH 10/11] usb: host: xhci-tegra: Add Tegra234 XHCI support Wayne Chang
2022-10-28 13:39   ` Thierry Reding
2022-11-01 14:53     ` Jon Hunter
2022-11-03 11:35       ` Wayne Chang
2022-10-24  7:41 ` [PATCH 11/11] usb: gadget: tegra-xudc: Add Tegra234 support Wayne Chang

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=3edaa3c8-f0fb-3b87-4f33-324d5b964aea@nvidia.com \
    --to=waynec@nvidia.com \
    --cc=ajayg@nvidia.com \
    --cc=balbi@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=jckuo@nvidia.com \
    --cc=jonathanh@nvidia.com \
    --cc=kishon@ti.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh+dt@kernel.org \
    --cc=singhanc@nvidia.com \
    --cc=thierry.reding@gmail.com \
    --cc=treding@nvidia.com \
    --cc=vkoul@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

all inboxes | Powered by JetHome®