Re: [PATCH v3 1/6] dt-bindings: PCI: Add binding for qps615

Krishna Chaitanya Chundru
2025-02-10T10:13:33Z

On 2/10/2025 1:28 PM, Manivannan Sadhasivam wrote:
> On Tue, Jan 07, 2025 at 07:58:17PM +0530, Krishna Chaitanya Chundru wrote:
>>
>>
>> On 12/30/2024 11:52 PM, Manivannan Sadhasivam wrote:
>>> On Mon, Dec 23, 2024 at 08:57:37PM +0200, Dmitry Baryshkov wrote:
>>>
>>> [...]
>>>
>>>>> This switch allows us to configure both upstream, downstream ports and
>>>>> also embedded Ethernet port which is internal to the switch. These
>>>>> properties are applicable for all of those.
>>>>>>> +
>>>>>>> + allOf:
>>>>>>> + - $ref: /schemas/pci/pci-bus.yaml#
>>>>>>
>>>>>> pci-pci-bridge.yaml is more specific and closer to what this device is.
>>>>>>
>>>>> I tried this now, I was getting warning saying the compatible
>>>>> /local/mnt/workspace/skales/kobj/Documentation/devicetree/bindings/pci/qcom,qps615.example.dtb:
>>>>> pcie@0,0: compatible: ['pci1179,0623'] does not contain items matching the
>>>>> given schema
>>>>> from schema $id: http://devicetree.org/schemas/pci/qcom,qps615.yaml#
>>>>> /local/mnt/workspace/skales/kobj/Documentation/devicetree/bindings/pci/qcom,qps615.example.dtb:
>>>>> pcie@0,0: Unevaluated properties are not allowed ('#address-cells',
>>>>> '#size-cells', 'bus-range', 'device_type', 'ranges' were unexpected)
>>>>>
>>>>> I think pci-pci-bridge is expecting the compatible string in this format
>>>>> only "pciclass,0604".
>>>>
>>>> I think the pci-pci-bridge schema requires to have "pciclass,0604" among
>>>> other compatibles. So you should be able to do something like:
>>>>
>>>> compatible = "pci1179,0623", "pciclass,0604";
>>>>
>>>
>>> Even though a PCIe switch is supposed to be a network of PCI bridges, using
>>> PCI bridge fallback for this switch is not technically correct IMO. Mostly
>>> because, this switch requires other configurations which are not applicable to
>>> PCI bridges. So the drivers matching against the bridge compatible won't be able
>>> to use this switch.
>>>
>>> - Mani
>> Rob,
>>
>> Using pci-pci-bridge expects to use compatible as pciclass,0604, we
>> can't use as this switch is doing other configurations which are
>> applicable to PCI bridges. can we continue to use pci-bus.yaml.
>>
>
> Let's put it the other way. What are the blockers in using the
> pci-pci-bridge.yaml other than the fallback compatible? If the compatible is the
> only blocker, you can add it even though the drivers cannot make use of it
> (that's one of the reason why I was against adding it).
>
> - Mani
>
Compatible is the only blocking thing here.
If I use pci-pci-bridge.yaml I was getting fallowing warning
pcie@0,0: compatible: ['pci1179,0623'] does not contain items matching
the given schema

can we use this way compatible = "pci1179,0623", "pciclass,0604"; to
avoid warnings.

- Krishna Chaitanya.