devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Luo Jie <quic_luoj@quicinc.com>,
	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: Mon, 25 Dec 2023 11:29:24 +0100	[thread overview]
Message-ID: <dee72ce8-b24e-467a-b265-1b965588807f@linaro.org> (raw)
In-Reply-To: <20231225084424.30986-6-quic_luoj@quicinc.com>

On 25/12/2023 09:44, Luo Jie wrote:
> Update the yaml file for the new DTS properties.
> 
> 1. qcom,cmn-ref-clock-frequency for the CMN PLL source clock select.
> 2. clock-frequency for MDIO clock frequency config.
> 3. add uniphy AHB & SYS GCC clocks.

I see two new compatibles, so your list is missing main point.

> 
> Signed-off-by: Luo Jie <quic_luoj@quicinc.com>
> ---
>  .../bindings/net/qcom,ipq4019-mdio.yaml       | 141 +++++++++++++++++-
>  1 file changed, 136 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/net/qcom,ipq4019-mdio.yaml b/Documentation/devicetree/bindings/net/qcom,ipq4019-mdio.yaml
> index 3407e909e8a7..205500cb1fd1 100644
> --- a/Documentation/devicetree/bindings/net/qcom,ipq4019-mdio.yaml
> +++ b/Documentation/devicetree/bindings/net/qcom,ipq4019-mdio.yaml
> @@ -18,8 +18,10 @@ properties:
>  
>        - items:
>            - enum:
> +              - qcom,ipq5332-mdio
>                - qcom,ipq6018-mdio
>                - qcom,ipq8074-mdio
> +              - qcom,ipq9574-mdio
>            - const: qcom,ipq4019-mdio
>  
>    "#address-cells":
> @@ -30,19 +32,76 @@ properties:
>  
>    reg:
>      minItems: 1
> -    maxItems: 2
> -    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!

> +      the platform IPQ50xx/IPQ5332.

So these are valid for all platforms or not? Looks not, but nothing
narrows the list for other boards.

Anyway, why do you add entries in the middle? LDO was the second, so it
cannot be now fifth.

> +
> +  reg-names:
> +    minItems: 1
> +    items:
> +      - const: mdio
> +      - const: cmn_blk
> +      - const: eth_ldo1
> +      - const: eth_ldo2
> +      - const: eth_ldo3
>  
>    clocks:
> +    minItems: 1
>      items:
>        - description: MDIO clock source frequency fixed to 100MHZ
> +      - description: UNIPHY0 AHB clock source frequency fixed to 100MHZ
> +      - description: UNIPHY1 AHB clock source frequency fixed to 100MHZ
> +      - description: UNIPHY0 SYS clock source frequency fixed to 24MHZ
> +      - description: UNIPHY1 SYS clock source frequency fixed to 24MHZ
>  
>    clock-names:
> +    minItems: 1
>      items:
>        - const: gcc_mdio_ahb_clk
> +      - const: uniphy0_ahb
> +      - const: uniphy1_ahb
> +      - const: uniphy0_sys
> +      - const: uniphy1_sys
> +
> +  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.

> +
> +  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.

> +
>  unevaluatedProperties: false
>  
>  examples:
> @@ -100,3 +175,59 @@ examples:
>          reg = <4>;
>        };
>      };
> +
> +  - |
> +    #include <dt-bindings/clock/qcom,ipq5332-gcc.h>
> +    #include <dt-bindings/gpio/gpio.h>
> +
> +    mdio@90000 {
> +      #address-cells = <1>;
> +      #size-cells = <0>;

That's not the order of properties. compatible is always the first, reg
and reg-names follow. See DTS coding style.

> +      compatible = "qcom,ipq5332-mdio",
> +                   "qcom,ipq4019-mdio";
> +
> +      reg = <0x90000 0x64>,
> +            <0x9b000 0x800>,
> +            <0x7a00610 0x4>,
> +            <0x7a10610 0x4>;
> +

Drop blank line.

> +      reg-names = "mdio",
> +                  "cmn_blk",
> +                  "eth_ldo1",
> +                  "eth_ldo2";
> +
> +      clocks = <&gcc GCC_MDIO_AHB_CLK>,
> +               <&gcc GCC_UNIPHY0_AHB_CLK>,
> +               <&gcc GCC_UNIPHY1_AHB_CLK>,
> +               <&gcc GCC_UNIPHY0_SYS_CLK>,
> +               <&gcc GCC_UNIPHY1_SYS_CLK>;
> +

Drop blank line

> +      clock-names = "gcc_mdio_ahb_clk",
> +                    "uniphy0_ahb",
> +                    "uniphy1_ahb",
> +                    "uniphy0_sys",
> +                    "uniphy1_sys";
> +
> +      clock-frequency = <6250000>;
> +      reset-gpios = <&tlmm 51 GPIO_ACTIVE_LOW>;
> +

Best regards,
Krzysztof


  reply	other threads:[~2023-12-25 10:29 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 [this message]
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
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=dee72ce8-b24e-467a-b265-1b965588807f@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --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=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_luoj@quicinc.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).