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: Thu, 28 Dec 2023 15:38:05 +0800 [thread overview]
Message-ID: <d231b7e2-51f5-4676-8fc0-e4bc6154e2d7@quicinc.com> (raw)
In-Reply-To: <28c8b31c-8dcb-4a19-9084-22c77a74b9a1@linaro.org>
On 12/26/2023 9:18 PM, Krzysztof Kozlowski wrote:
> On 26/12/2023 14:06, Jie Luo wrote:
>>
>>>
>>>
>>>>
>>>>>
>>>>>> + 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.
>
> Wasn't this for new devices? What about all existing which have LDO as
> the second entry?
In the current regs, which includes mdio and one LDO.
mdio is the reg address range for all IPQs.
one LDO is only for ipq5018.
the new added LDO is for ipq5332.
the cmn_blk is for ipq9574 and ipq5332.
i will update these limitations of dt-bindings in the next patch set.
>
>>>>>> + 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
>
> So all your three DT maintainers agree that lack of property for
> choosing clock, defines the usage of interrupt source.
This is the reference clock source selection of CMN block, which
generates the clocks for the Ethernet devices.
>
> Now we had huge amount of arguments that you do not represent properly
> the clock relationships. Still.
here is the clock topology.
reference clock sources ---> CMN PLL ---> various output clocks
the output clocks are provided to the Ethernet devices(such as the
qca808x PHY devices).
These information is also provided the commit message of the patch
<net: mdio: ipq4019: configure CMN PLL clock for ipq5332>.
>
>> 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.
>
> You still do not want to implement our suggestions and I don't
> understand your arguments. Nothing in above paragraph explains me why
> you cannot use clock provider/consumer relationships.
Hi Krzysztof,
The reference clock source can be registered as the fix clock provider,
From the current fix clock provider, the clock rate is useful for the
clock consumer, the fix clock rate is used to generate the output clocks
by the divider or multiplier.
For the CMN block to select reference clock, which is configuring the
clock source, we don't know the formula to get the output clock value
based on the reference clock value.
i also see there is an example in the upstream code, which is same as
the CMN block to select the reference clock source.
the property "ref-clock-frequency" is defined in the yaml file below.
Documentation/devicetree/bindings/net/wireless/ti,wlcore.yaml.
"
ref-clock-frequency:
$ref: /schemas/types.yaml#/definitions/uint32
description: Reference clock frequency.
"
the reference clock source is selected based on the table as below.
source code file drivers/net/wireless/ti/wl12xx/main.c
"
static const struct wl12xx_clock wl12xx_refclock_table[] = {
{ 19200000, false, WL12XX_REFCLOCK_19 },
{ 26000000, false, WL12XX_REFCLOCK_26 },
{ 26000000, true, WL12XX_REFCLOCK_26_XTAL },
{ 38400000, false, WL12XX_REFCLOCK_38 },
{ 38400000, true, WL12XX_REFCLOCK_38_XTAL },
{ 52000000, false, WL12XX_REFCLOCK_52 },
{ 0, false, 0 }
};
"
Thanks.
>
>
> Best regards,
> Krzysztof
>
next prev parent reply other threads:[~2023-12-28 7:38 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
2023-12-26 13:18 ` Krzysztof Kozlowski
2023-12-28 7:38 ` Jie Luo [this message]
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=d231b7e2-51f5-4676-8fc0-e4bc6154e2d7@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