All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ramon Fried <rfried.dev@gmail.com>
To: u-boot@lists.denx.de
Subject: [PATCH 13/20] net: phy: fixed: Support the old DT binding
Date: Tue, 2 Mar 2021 19:49:46 +0200	[thread overview]
Message-ID: <CAGi-RUJ=mLs=GKFpj5NbQjK3Axgh907hneZ6xwxjDhp1FG+pwA@mail.gmail.com> (raw)
In-Reply-To: <20210302153451.19440-14-bmeng.cn@gmail.com>

On Tue, Mar 2, 2021 at 5:36 PM Bin Meng <bmeng.cn@gmail.com> wrote:
>
> Update fixedphy_probe() to support the old DT binding.
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>
>  drivers/net/phy/fixed.c | 29 ++++++++++++++++++++++++++---
>  1 file changed, 26 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/phy/fixed.c b/drivers/net/phy/fixed.c
> index 8fc9c66684..6b720c7e4e 100644
> --- a/drivers/net/phy/fixed.c
> +++ b/drivers/net/phy/fixed.c
> @@ -19,11 +19,25 @@ static int fixedphy_probe(struct phy_device *phydev)
>  {
>         struct fixed_link *priv;
>         int ofnode = phydev->addr;
> +       bool old_binding = false;
>         u32 val;
> +       u32 old_val[5];
>
>         /* check for mandatory properties within fixed-link node */
>         val = fdt_getprop_u32_default_node(gd->fdt_blob,
>                                            ofnode, 0, "speed", 0);
> +
> +       if (!val) {
> +               /* try old binding */
> +               old_binding = true;
> +               if (fdtdec_get_int_array(gd->fdt_blob, ofnode, "fixed-link",
> +                                        old_val, ARRAY_SIZE(old_val))) {
> +                       printf("ERROR: no/invalid <fixed-link> property!\n");
> +                       return -ENOENT;
> +               }
> +               val = old_val[2];
> +       }
> +
>         if (val != SPEED_10 && val != SPEED_100 && val != SPEED_1000 &&
>             val != SPEED_2500 && val != SPEED_10000) {
>                 printf("ERROR: no/invalid speed given in fixed-link node!\n");
> @@ -38,9 +52,18 @@ static int fixedphy_probe(struct phy_device *phydev)
>         phydev->priv = priv;
>
>         priv->link_speed = val;
> -       priv->duplex = fdtdec_get_bool(gd->fdt_blob, ofnode, "full-duplex");
> -       priv->pause = fdtdec_get_bool(gd->fdt_blob, ofnode, "pause");
> -       priv->asym_pause = fdtdec_get_bool(gd->fdt_blob, ofnode, "asym-pause");
> +       if (!old_binding) {
> +               priv->duplex = fdtdec_get_bool(gd->fdt_blob, ofnode,
> +                                              "full-duplex");
> +               priv->pause = fdtdec_get_bool(gd->fdt_blob, ofnode,
> +                                             "pause");
> +               priv->asym_pause = fdtdec_get_bool(gd->fdt_blob, ofnode,
> +                                                  "asym-pause");
> +       } else {
> +               priv->duplex = old_val[1];
> +               priv->pause = old_val[3];
> +               priv->asym_pause = old_val[4];
> +       }
>
>         /* fixed-link phy must not be reset by core phy code */
>         phydev->flags |= PHY_FLAG_BROKEN_RESET;
> --
> 2.25.1
>
Reviewed-By: Ramon Fried <rfried.dev@gmail.com>

  reply	other threads:[~2021-03-02 17:49 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-02 15:34 [PATCH 00/20] ppc: qemu: Add eTSEC support Bin Meng
2021-03-02 15:34 ` Bin Meng
2021-03-02 15:34 ` [PATCH 01/20] net: phy: xilinx: Remove non-DM prototype of phy_connect_gmii2rgmii() Bin Meng
2021-03-02 15:40   ` Michal Simek
2021-03-02 17:52   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 02/20] net: phy: xilinx: Convert to use APIs which support live DT Bin Meng
2021-03-02 15:40   ` Vladimir Oltean
2021-03-04  5:36     ` Bin Meng
2021-03-04 23:05       ` Vladimir Oltean
2021-03-11 10:33         ` Bin Meng
2021-03-11 10:37           ` Vladimir Oltean
2021-03-11 10:58             ` Bin Meng
2021-03-11 11:02               ` Vladimir Oltean
2021-03-02 17:51   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 03/20] net: phy: fixed: Remove non-DM prototype of phy_connect_fixed() Bin Meng
2021-03-02 17:42   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 04/20] net: phy: fixed: Convert to use APIs which support live DT Bin Meng
2021-03-02 17:42   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 05/20] dt-bindings: net: Add the old DT bindings for "fixed-link" Bin Meng
2021-03-02 17:50   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 06/20] of: extra: Introduce ofnode_phy_is_fixed_link() API Bin Meng
2021-03-05  4:08   ` Simon Glass
2021-03-09  2:41     ` Bin Meng
2021-03-02 15:34 ` [PATCH 07/20] test: dm: Add a case to test ofnode_phy_is_fixed_link() Bin Meng
2021-03-05  4:08   ` Simon Glass
2021-03-02 15:34 ` [PATCH 08/20] dm: mdio: Use ofnode_phy_is_fixed_link() API Bin Meng
2021-03-02 17:41   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 09/20] net: tsec: " Bin Meng
2021-03-02 17:42   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 10/20] net: phy: Simplify the logic of phy_connect_fixed() Bin Meng
2021-03-02 17:46   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 11/20] net: phy: fixed: Make driver ops static Bin Meng
2021-03-02 17:47   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 12/20] net: phy: fixed: Add the missing ending newline Bin Meng
2021-03-02 17:48   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 13/20] net: phy: fixed: Support the old DT binding Bin Meng
2021-03-02 17:49   ` Ramon Fried [this message]
2021-03-02 15:34 ` [PATCH 14/20] dt-bindings: net: Update Freescale TSEC to support "queue-group" Bin Meng
2021-03-02 17:50   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 15/20] net: tsec: Support <reg> property from the subnode "queue-group" Bin Meng
2021-03-02 17:50   ` Ramon Fried
2021-03-02 15:34 ` [PATCH 16/20] dm: core: Correctly read <ranges> of simple-bus Bin Meng
2021-03-03 13:23   ` Tom Rini
2021-03-02 15:34 ` [PATCH 17/20] test: dm: Add a test case for simple-bus <ranges> Bin Meng
2021-03-05  4:08   ` Simon Glass
2021-03-02 15:34 ` [PATCH 18/20] ppc: qemu: Create a virtual memory mapping of the platform bus Bin Meng
2021-03-02 15:34 ` [PATCH 19/20] ppc: qemu: Enable eTSEC support Bin Meng
2021-03-02 15:34 ` [PATCH 20/20] doc: board: qemu-ppce500: Document eTSEC usage Bin Meng
2021-03-03  1:08 ` [PATCH 00/20] ppc: qemu: Add eTSEC support Bin Meng
2021-03-03  1:53   ` Simon Glass
2021-03-03  2:11     ` Bin Meng
2021-03-03 16:48       ` Tom Rini
2021-03-03 17:21         ` Simon Glass
2021-03-04  1:57           ` Bin Meng
2021-03-04  2:16             ` Simon Glass

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='CAGi-RUJ=mLs=GKFpj5NbQjK3Axgh907hneZ6xwxjDhp1FG+pwA@mail.gmail.com' \
    --to=rfried.dev@gmail.com \
    --cc=u-boot@lists.denx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.