From: Jie Luo <quic_luoj@quicinc.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
<agross@kernel.org>, <andersson@kernel.org>,
<konrad.dybcio@linaro.org>, <davem@davemloft.net>,
<edumazet@google.com>, <kuba@kernel.org>, <pabeni@redhat.com>,
<robh+dt@kernel.org>, <krzysztof.kozlowski+dt@linaro.org>,
<conor+dt@kernel.org>, <andrew@lunn.ch>, <hkallweit1@gmail.com>,
<linux@armlinux.org.uk>, <robert.marko@sartura.hr>
Cc: <linux-arm-msm@vger.kernel.org>, <netdev@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<quic_srichara@quicinc.com>
Subject: Re: [PATCH v4 5/5] dt-bindings: net: ipq4019-mdio: Document ipq5332 platform
Date: Tue, 26 Dec 2023 21:06:47 +0800 [thread overview]
Message-ID: <06ddbae8-1502-41fb-8cf8-9a3390dad557@quicinc.com> (raw)
In-Reply-To: <58dde1a7-ed4a-442c-bb5c-c3f6d926fb7e@linaro.org>
On 12/26/2023 5:28 PM, Krzysztof Kozlowski wrote:
> On 26/12/2023 08:25, Jie Luo wrote:
>>>> - description:
>>>> - the first Address and length of the register set for the MDIO controller.
>>>> - the second Address and length of the register for ethernet LDO, this second
>>>> - address range is only required by the platform IPQ50xx.
>>>> + maxItems: 5
>>>> + description: |
>>>> + The first address and length of the register set for the MDIO controller,
>>>> + the optional second address and length of the register is for CMN block,
>>>> + the optional third, fourth and fifth address and length of the register
>>>> + for Ethernet LDO, the optional Ethernet LDO address range is required by
>>>
>>> Wait, required? You said in in response to Rob these are not required!
>>
>> As for the response to Rob, i was saying the uniphy ahb and sys clocks
>> are not needed on ipq9574.
>> The LDO are needed on ipq5332 and ipq5018 currently.
>
> Clocks as well but:
>
> "A driver can function without knowing about all these new registers and
> ..."
This comments are for compatible string in V2, the MDIO drive configures
the hardware according to the DTS property defined or not for the new
added IPQ platforms(ipq5332 and ipq9574) support.
>
> Anyway, this should be list ("items:") with descriptions, instead of one
> big description listing things.
Ok, will update to use the list descriptions, thanks.
>
>
>>
>>>
>>>> + the platform IPQ50xx/IPQ5332.
>>>
>>> So these are valid for all platforms or not? Looks not, but nothing
>>> narrows the list for other boards.
>>
>> i add the limitation on the reg usage for the ipq5332 platform on the
>> following part "if condition" of this patch, i will update the patch
>> to narrow down for the other compatibles.
>>
>>>
>>> Anyway, why do you add entries in the middle? LDO was the second, so it
>>> cannot be now fifth.
>>
>> As Rob's suggestion, i move the cmn_blk to second location for
>> simplifying the limitation description, i checked the upstream dts code,
>> the LDO is not used currently, so we can move cmn_blk to the second
>> location here.
>
> I cannot find his suggestion in the previous thread. Where did he
> propose it?
Rob suggested this on the V2 as below.
"
Perhaps cmn_blk should come 2nd, so all the variants have the same entry
indices. Then you can move this to the top level and just say 'minItems:
4' here.
"
>
> ...
>
>>>> + qcom,cmn-ref-clock-frequency:
>>>> + $ref: /schemas/types.yaml#/definitions/uint32
>>>> + enum:
>>>> + - 25000000
>>>> + - 31250000
>>>> + - 40000000
>>>> + - 48000000
>>>> + - 50000000
>>>> + - 96000000
>>>> + default: 48000000
>>>> + description: |
>>>> + The reference clock source of CMN PLL block is selectable, the
>>>> + reference clock source can be from wifi module or the external
>>>> + xtal, the reference clock frequency 48MHZ can be from internal
>>>> + wifi or the external xtal, if absent, the internal 48MHZ is used,
>>>> + if the 48MHZ is specified, which means the external 48Mhz is used.
>>>
>>> This does not resolve mine and Conor's concerns from previous version.
>>> External clocks are defined as clock inputs.
>>
>> No matter the external or internal reference clock, they are the clock
>> source selection for CMN, there are only 48MHZ can be external or
>> internal, other clocks have the different clock rate, so the internal
>> 48MHZ reference clock can be implied when the
>> "qcom,cmn-ref-clock-frequency" is not defined, which is suggested by
>> Conor in the previous
>> comments.
>
> I don't think he proposed it, but maybe I missed some message (care to
> point me to his message where he agreed on usage of
> qcom,cmn-ref-clock-frequency?). I am pretty sure we both stayed on the
> same page, that the presence of clocks defines choice of internal clock.
> This property should go away.
Sorry for this confusion.
Rob said the internal reference source can be decided by the absence of
the property combined with compatible string, because i said the
internal 96MHZ is used on ipq5018 currently in the previous message.
per double checked the current IPQ platforms, the internal 96MHZ is also
possible on ipq9574, and the reference clock source should be kept as
configurable instead of limited by the compatible string, maybe the
different reference clock source is acquired in the future, even
currently it is not used on the special platform for now.
so i update the solution with a little bit of changes.
>
> It is tiring to keep discussing this.
>
>>
>>>
>>>> +
>>>> + clock-frequency:
>>>> + enum:
>>>> + - 390625
>>>> + - 781250
>>>> + - 1562500
>>>> + - 3125000
>>>> + - 6250000
>>>> + - 12500000
>>>> + default: 390625
>>>> + description: |
>>>> + The MDIO bus clock that must be output by the MDIO bus hardware,
>>>> + only the listed frequencies above can be supported, other frequency
>>>> + will cause malfunction. If absent, the default hardware value 0xff
>>>> + is used, which means the default MDIO clock frequency 390625HZ, The
>>>> + MDIO clock frequency is MDIO_SYS_CLK/(MDIO_CLK_DIV + 1), the SoC
>>>> + MDIO_SYS_CLK is fixed to 100MHZ, the MDIO_CLK_DIV is from MDIO control
>>>> + register, there is higher clock frequency requirement on the normal
>>>> + working case where the MDIO slave devices support high clock frequency.
>>>>
>>>> required:
>>>> - compatible
>>>> @@ -59,8 +118,10 @@ allOf:
>>>> contains:
>>>> enum:
>>>> - qcom,ipq5018-mdio
>>>> + - qcom,ipq5332-mdio
>>>> - qcom,ipq6018-mdio
>>>> - qcom,ipq8074-mdio
>>>> + - qcom,ipq9574-mdio
>>>> then:
>>>> required:
>>>> - clocks
>>>> @@ -70,6 +131,20 @@ allOf:
>>>> clocks: false
>>>> clock-names: false
>>>>
>>>> + - if:
>>>> + properties:
>>>> + compatible:
>>>> + contains:
>>>> + enum:
>>>> + - qcom,ipq5332-mdio
>>>> + then:
>>>> + properties:
>>>> + clocks:
>>>> + minItems: 5
>>>> + maxItems: 5
>>>> + reg-names:
>>>> + minItems: 4
>>>
>>> Why all other variants now have 5 clocks and 5 reg entries? Nothing of
>>> it is explained in the commit msg.
>>
>> From the condition above, only "qcom,ipq5332-mdio" has 5 clocks (mdio +
>> 4 uniphy clocks) and 4 regs (mdio + cmn_blk + 2 LDOs) as the cmn_blk is
>> moved to the second location.
>>
>> how it can gives the 5 clocks and 5 regs for other variants here?
>
> How? Just read the beginning of your patch. It clearly says everyone has
> up to 5 reg entries and up to 5 clocks.
Sorry for missing the limitation of the new added regs and clocks for
other platforms, will update the patch to add the limitation usage of
the reg and clocks on the other platform.
Thanks!
>
>
>
> Best regards,
> Krzysztof
>
next prev parent reply other threads:[~2023-12-26 13:07 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-25 8:44 [PATCH v4 0/5] support ipq5332 platform Luo Jie
2023-12-25 8:44 ` [PATCH v4 1/5] net: mdio: ipq4019: move eth_ldo_rdy before MDIO bus register Luo Jie
2023-12-28 9:49 ` Konrad Dybcio
2023-12-30 3:15 ` Jie Luo
2024-01-02 17:24 ` Russell King (Oracle)
2024-01-03 13:27 ` Jie Luo
2023-12-25 8:44 ` [PATCH v4 2/5] net: mdio: ipq4019: enable the SoC uniphy clocks for ipq5332 platform Luo Jie
2024-01-03 9:48 ` Bryan O'Donoghue
2024-01-03 13:25 ` Jie Luo
2023-12-25 8:44 ` [PATCH v4 3/5] net: mdio: ipq4019: configure CMN PLL clock for ipq5332 Luo Jie
2024-01-03 9:50 ` Bryan O'Donoghue
2024-01-03 13:06 ` Jie Luo
2023-12-25 8:44 ` [PATCH v4 4/5] net: mdio: ipq4019: support MDIO clock frequency divider Luo Jie
2023-12-25 8:44 ` [PATCH v4 5/5] dt-bindings: net: ipq4019-mdio: Document ipq5332 platform Luo Jie
2023-12-25 10:29 ` Krzysztof Kozlowski
2023-12-26 7:25 ` Jie Luo
2023-12-26 9:28 ` Krzysztof Kozlowski
2023-12-26 12:21 ` Conor Dooley
2023-12-26 13:14 ` Jie Luo
2023-12-26 13:19 ` Krzysztof Kozlowski
2023-12-28 7:36 ` Jie Luo
2023-12-26 13:06 ` Jie Luo [this message]
2023-12-26 13:18 ` Krzysztof Kozlowski
2023-12-28 7:38 ` Jie Luo
2024-01-04 7:47 ` Krzysztof Kozlowski
2024-01-04 10:06 ` Jie Luo
2024-01-01 23:01 ` [PATCH v4 0/5] support " Sergey Ryazanov
2024-01-03 13:31 ` Jie Luo
2024-01-05 2:48 ` Sergey Ryazanov
2024-01-05 10:34 ` Jie Luo
2024-01-06 1:24 ` Sergey Ryazanov
2024-01-06 15:45 ` Andrew Lunn
2024-01-06 22:03 ` Sergey Ryazanov
2024-01-07 16:08 ` Andrew Lunn
2024-01-08 9:06 ` Jie Luo
2024-01-08 9:01 ` Jie Luo
2024-01-08 13:27 ` Andrew Lunn
2024-01-09 11:33 ` Jie Luo
2024-01-08 15:53 ` Russell King (Oracle)
2024-01-09 11:35 ` Jie Luo
2024-01-05 13:52 ` Andrew Lunn
2024-01-05 15:42 ` Alex Elder
2024-01-05 20:14 ` Sergey Ryazanov
2024-01-08 9:30 ` Jie Luo
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=06ddbae8-1502-41fb-8cf8-9a3390dad557@quicinc.com \
--to=quic_luoj@quicinc.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=andrew@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=quic_srichara@quicinc.com \
--cc=robert.marko@sartura.hr \
--cc=robh+dt@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;
as well as URLs for NNTP newsgroup(s).