[PATCH RFC 1/4] dt-binding: phy: hisi-inno-usb2: convert to YAML
Yang Xiwen
forbidden405 at outlook.com
Sat Feb 17 05:46:16 PST 2024
On 2/17/2024 9:39 PM, Krzysztof Kozlowski wrote:
> On 17/02/2024 11:54, Yang Xiwen wrote:
>> On 2/17/2024 6:29 PM, Krzysztof Kozlowski wrote:
>>> On 17/02/2024 11:24, Yang Xiwen wrote:
>>>
>>>>>> +
>>>>>> +examples:
>>>>>> + - |
>>>>>> + #include <dt-bindings/clock/histb-clock.h>
>>>>>> +
>>>>>> + peripheral-controller at 8a20000 {
>>>>>> + compatible = "hisilicon,hi3798cv200-perictrl", "syscon", "simple-mfd";
>>>>>> + reg = <0x8a20000 0x1000>;
>>>>>> + #address-cells = <1>;
>>>>>> + #size-cells = <1>;
>>>>>> + ranges = <0x0 0x8a20000 0x1000>;
>>>>> Drop the node, not related to this binding. If this binding is supposed
>>>>> to be part of other device in case of MFD devices or some tightly
>>>>> coupled ones, then could be included in the example there.
>>>> For CV200, this binding is supposed to be always inside the perictrl
>>>> device. The PHY address space are accessed from a bus implemented by
>>>> perictrl.
>>> Every node is supposes to be somewhere in something, so with this logic
>>> you would start from soc at . What's wrong in putting it in parent schema?
>> When the ports reg property only has an dummy address (no size), it must
>> be inside the perictrl node, accessed from the bus implemented by perictrl.
>>
>> But when the ports has its own MMIO address space (mv200), it should be
>> located under a simple-bus node instead.
>>
>> So it's either:
>>
>> perictrl at 8a20000 {
>>
>> usb2-phy at 120: {
>>
>> reg = <0x120 0x4>; // this is the register that controls writes
>> and reads to the phy, implemented by perictrl. (just like SPI/I2C)
>>
>> phy at 0: {
>>
>> reg = <0>; // the reg is used as an index
>>
>> };
>>
>> };
>>
>> };
>>
>> or:
>>
>> soc at 0 {
>>
>> usb2-phy at f9865000 { // MMIO
>>
>> reg = <0xf9865000 0x1000>
>>
>> port0 at 0 {
>>
>> reg = <0x0 0x400>; // used as MMIO address space
>>
>> };
>>
>> };
>>
>> };
>>
>> So here is why i include perictrl node in the example. If the ports are
>> not mmio, the phy must be under a perictrl node. Or if the ports has its
>> own address space, it should not be under a perictrl node, but rather an
>> simple-bus node.
> I don't understand why you keep insisting and discussing this. You are
> adding other compatibles to this schema example, which usually we try to
> avoid. You entirely ignored my comment above and pasted DTS which is no
> related to the topic we discuss here. I did not question whether this
> can be or cannot be in some node.
okay, I can remove the parent node if it's preferred. This is simply the
most usual example that exists in real dts.
>
> Best regards,
> Krzysztof
>
--
Regards,
Yang Xiwen
More information about the linux-phy
mailing list