From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 37E99C77B7C for ; Wed, 10 May 2023 13:17:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236989AbjEJNRQ (ORCPT ); Wed, 10 May 2023 09:17:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55146 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236706AbjEJNRN (ORCPT ); Wed, 10 May 2023 09:17:13 -0400 Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10F177A93 for ; Wed, 10 May 2023 06:17:10 -0700 (PDT) Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-50bcb4a81ceso12837971a12.2 for ; Wed, 10 May 2023 06:17:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683724628; x=1686316628; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=V0NNPcaQxaKPxC35q4lb7Q2k/KJXCpc0ipK342+puDU=; b=QnDTCjRVA6jNRLhzY0ZS4HptY0D7fNBaEUgzFrPD+YpobP/gzd5apV3HjsDrqWUN/O 6h8DG8keAQkOVidAH87PIwVTNgHDSx3umnzVhSKwntgsd3k3RuHMhjSOVFCG26bVcnej /hDCbk2kWM8yKSn/5XXovixpm9otRI9sOdjXnoG5b7Sg39CC/sV5Q3MSZjuR2g4WWFe6 XmaBfrYQqDLbOaFLyrXajhgGngg1kB9HLSC57TV45gIk50oESBIcO8HoAuRtgKTzRxaN R7qAdLOtnX5IgoKpypv7SKn2usmYsrWgqsvamzvZj5YBclikTuJTkL/hvspTQ1J+OQaN 7wjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683724628; x=1686316628; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=V0NNPcaQxaKPxC35q4lb7Q2k/KJXCpc0ipK342+puDU=; b=ce2FAPM/eSZGJnd6W4ATCfNQLrLsRz60w1xh+l480CWWYMLSi+JfonTdnTu99jFnwt OlwklD+OJ2Gd+kcfpjhUDX1hk06eUQ1b45RioyqVRE2oEPlf9K5FyXCcUolTUe7TMLIl 9PD+ARBU2ggwqVWOZ1ZsMKTSHkiIMQGIDcseQasKwk82F8UWm/2gCmNuiPjc5AVKhIMV Kmzi/VVfxilmKfWv+wF8M/en+P+UB5dR3sZKPNb63HdY4vac59WXn6cW4PlObt7HIqqw dCcH8VX7xo+OUT+G9HCRLLRlNPpCzrudJpMy6gZlpNqbPvs3mWdEmB+9mDUtYDMyZpLC mJEg== X-Gm-Message-State: AC+VfDwioItumSK6fTL3K9j6+Tc+0nLsluU5xIUTu6l6yWKAUWpHrDRq zKejV+CPTQTYnrdW6XkfkjiUAQ== X-Google-Smtp-Source: ACHHUZ6YL9+LN9HNfDK/e/WVnPK1YCtDvn0BZgkGmj5+wk/gJcPNkGoRrZK92hJdd60Iu9y/EMt5Vg== X-Received: by 2002:a17:906:eec9:b0:94e:46ef:1361 with SMTP id wu9-20020a170906eec900b0094e46ef1361mr14978482ejb.34.1683724628495; Wed, 10 May 2023 06:17:08 -0700 (PDT) Received: from ?IPV6:2a02:810d:15c0:828:c175:a0f9:6928:8c9d? ([2a02:810d:15c0:828:c175:a0f9:6928:8c9d]) by smtp.gmail.com with ESMTPSA id d21-20020a170906c21500b00965fdb90801sm2687310ejz.153.2023.05.10.06.17.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 10 May 2023 06:17:07 -0700 (PDT) Message-ID: <764ae6a7-cb25-93ac-720a-56c9a831a493@linaro.org> Date: Wed, 10 May 2023 15:17:05 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH v2] dt-bindings: usb: Add binding for Microchip usb5744 hub controller Content-Language: en-US To: Michal Simek , linux-kernel@vger.kernel.org, monstr@monstr.eu, michal.simek@xilinx.com, git@xilinx.com, ilias.apalodimas@linaro.org Cc: Greg Kroah-Hartman , Krzysztof Kozlowski , Piyush Mehta , Rob Herring , devicetree@vger.kernel.org, linux-usb@vger.kernel.org References: <32aa46df-9ed5-7d2a-868f-a36414f54534@linaro.org> <1868d9ae-1376-d91d-a789-9e510bde96a7@amd.com> <27232a95-6ef8-1a98-4f5d-7d0ea29c20c4@linaro.org> <882f0cb5-7a5f-fe56-fdd9-f6074c1e359a@amd.com> From: Krzysztof Kozlowski In-Reply-To: <882f0cb5-7a5f-fe56-fdd9-f6074c1e359a@amd.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org On 10/05/2023 13:00, Michal Simek wrote: > > > On 5/9/23 18:04, Krzysztof Kozlowski wrote: >> On 09/05/2023 16:19, Michal Simek wrote: >>> >>> >>> On 5/7/23 10:07, Krzysztof Kozlowski wrote: >>>> On 05/05/2023 15:25, Michal Simek wrote: >>>>> The Microchip usb5744 is a SS/HS USB 3.0 hub controller with 4 ports. >>>>> The binding describes USB related aspects of the USB5744 hub, it as >>>>> well cover the option of connecting the controller as an i2c slave. >>>>> When i2c interface is connected hub needs to be initialized first. >>>>> Hub itself has fixed i2c address 0x2D but hardcoding address is not good >>>>> idea because address can be shifted by i2c address translator in the >>>>> middle. >>>>> >>>>> Signed-off-by: Piyush Mehta >>>>> Signed-off-by: Michal Simek >>>>> --- >>>>> >>>>> Changes in v2: >>>>> - fix i2c-bus property >>>>> - swap usb2.0/3.0 compatible strings >>>>> - fix indentation in example (4 spaces) >>>>> - add new i2c node with microchip,usb5744 compatible property >>>>> >>>>> It looks like that usb8041 has also an optional i2c interface which is not >>>>> covered. But it is mentioned at commit 40e58a8a7ca6 ("dt-bindings: usb: >>>>> Add binding for TI USB8041 hub controller"). >>>>> >>>>> i2c-bus name property was suggested by Rob at >>>>> https://lore.kernel.org/all/CAL_JsqJedhX6typpUKbnzV7CLK6UZVjq3CyG9iY_j5DLPqvVdw@mail.gmail.com/ >>>>> and >>>>> https://lore.kernel.org/all/CAL_JsqJZBbu+UXqUNdZwg-uv0PAsNg55026PTwhKr5wQtxCjVQ@mail.gmail.com/ >>>>> >>>>> the question is if adding address like this is acceptable. >>>>> But it must be specified. >>>>> >>>>> Driver will follow based on final dt-binding. >>>>> >>>>> $ref: usb-device.yaml# should be also added but have no idea how to wire it >>>>> up to be applied only on usb node not i2c one. >>>>> >>>>> --- >>>>> .../bindings/usb/microchip,usb5744.yaml | 110 ++++++++++++++++++ >>>>> 1 file changed, 110 insertions(+) >>>>> create mode 100644 Documentation/devicetree/bindings/usb/microchip,usb5744.yaml >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml b/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml >>>>> new file mode 100644 >>>>> index 000000000000..7e0a3472ea95 >>>>> --- /dev/null >>>>> +++ b/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml >>>>> @@ -0,0 +1,110 @@ >>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>>> +%YAML 1.2 >>>>> +--- >>>>> +$id: http://devicetree.org/schemas/usb/microchip,usb5744.yaml# >>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>> + >>>>> +title: Microchip USB5744 4-port Hub Controller >>>>> + >>>>> +description: >>>>> + Microchip's USB5744 SmartHubTM IC is a 4 port, SuperSpeed (SS)/Hi-Speed (HS), >>>>> + low power, low pin count configurable and fully compliant with the USB 3.1 >>>>> + Gen 1 specification. The USB5744 also supports Full Speed (FS) and Low Speed >>>>> + (LS) USB signaling, offering complete coverage of all defined USB operating >>>>> + speeds. The new SuperSpeed hubs operate in parallel with the USB 2.0 >>>>> + controller, so 5 Gbps SuperSpeed data transfers are not affected by slower >>>>> + USB 2.0 traffic. >>>>> + >>>>> +maintainers: >>>>> + - Piyush Mehta >>>>> + - Michal Simek >>>>> + >>>>> +select: >>>>> + properties: >>>>> + compatible: >>>>> + contains: >>>>> + const: microchip,usb5744 >>>>> + required: >>>>> + - compatible >>>> >>>> I don't understand why do you need this select. It basically disables >>>> schema matching for other ones. >>> >>> I didn't find a way how to have usbXXX,XXXX compatible strings and >>> microchip,usb5744 compatible in the same file. I am definitely lacking knowledge >>> how to write it properly that's why any advise is welcome. >> >> Hm, if you just have both of them like you have now, what happens? > > > make > DT_SCHEMA_FILES=Documentation/devicetree/bindings/usb/microchip,usb5744.yaml > dt_binding_check > DTEX Documentation/devicetree/bindings/usb/microchip,usb5744.example.dts > LINT Documentation/devicetree/bindings > CHKDT Documentation/devicetree/bindings/processed-schema.json > SCHEMA Documentation/devicetree/bindings/processed-schema.json > DTC_CHK Documentation/devicetree/bindings/usb/microchip,usb5744.example.dtb > /home/monstr/data/disk/linux/Documentation/devicetree/bindings/usb/microchip,usb5744.example.dtb: > hub@1: 'i2c-bus', 'peer-hub', 'reset-gpios' do not match any of the regexes: > 'pinctrl-[0-9]+' > From schema: > /home/monstr/data/disk/linux/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml > /home/monstr/data/disk/linux/Documentation/devicetree/bindings/usb/microchip,usb5744.example.dtb: > hub@2: 'i2c-bus', 'peer-hub', 'reset-gpios' do not match any of the regexes: > 'pinctrl-[0-9]+' > From schema: > /home/monstr/data/disk/linux/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml > > And this is even without usb-device.yaml wired. Yeah, you cannot define properties in allOf:if:then. Your select just makes the schema not selected thus it is a NOOP and error is hidden. I gave you examples how these should be expressed and the examples *do not* define properties in allOf:if:then, right? Best regards, Krzysztof