[{"id":1674838,"web_url":"http://patchwork.ozlabs.org/comment/1674838/","msgid":"<CANr=Z=YKsw8mUO3AKLPCYoVn1moMLVQeAdU5bKWFp1vV02+pKQ@mail.gmail.com>","list_archive_url":null,"date":"2017-05-30T19:35:22","subject":"Re: [U-Boot] [PATCH v8 14/17] net: fec_mxc: Add fec_phy_reset\n\tsupport","submitter":{"id":8809,"url":"http://patchwork.ozlabs.org/api/people/8809/","name":"Joe Hershberger","email":"joe.hershberger@ni.com"},"content":"On Tue, May 23, 2017 at 8:33 AM, Jagan Teki <jagannadh.teki@gmail.com> wrote:\n> From: Jagan Teki <jagan@openedev.com>\n>\n> phy-reset-gpios and phy-reset-duration properties are\n> needed for adding mii_dev reset bus operation,\n> so the board code not take care of phy_reset anymore\n> if it use DM_ETH.\n>\n> Cc: Joe Hershberger <joe.hershberger@ni.com>\n> Cc: Fabio Estevam <fabio.estevam@nxp.com>\n> Signed-off-by: Jagan Teki <jagan@openedev.com>\n> ---\n> Changes for v8:\n> - Add 'phy-reset-duration' property support\n>\n>  drivers/net/fec_mxc.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++-----\n>  drivers/net/fec_mxc.h |  9 ++++++\n>  include/netdev.h      |  5 ++++\n>  3 files changed, 89 insertions(+), 8 deletions(-)\n>\n> diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c\n> index 08bea8b..17fe27f 100644\n> --- a/drivers/net/fec_mxc.c\n> +++ b/drivers/net/fec_mxc.c\n> @@ -180,13 +180,27 @@ static int fec_mdio_write(struct ethernet_regs *eth, uint8_t phyaddr,\n>  static int fec_phy_read(struct mii_dev *bus, int phyaddr, int dev_addr,\n>                         int regaddr)\n>  {\n> -       return fec_mdio_read(bus->priv, phyaddr, regaddr);\n> +#ifdef CONFIG_DM_ETH\n> +       struct fec_priv *priv = dev_get_priv((struct udevice *)bus->priv);\n> +       struct ethernet_regs *eth = priv->eth;\n> +#else\n> +       struct ethernet_regs *eth = bus->priv;\n> +#endif\n> +\n> +       return fec_mdio_read(eth, phyaddr, regaddr);\n>  }\n>\n>  static int fec_phy_write(struct mii_dev *bus, int phyaddr, int dev_addr,\n>                          int regaddr, u16 data)\n>  {\n> -       return fec_mdio_write(bus->priv, phyaddr, regaddr, data);\n> +#ifdef CONFIG_DM_ETH\n> +       struct fec_priv *priv = dev_get_priv((struct udevice *)bus->priv);\n> +       struct ethernet_regs *eth = priv->eth;\n> +#else\n> +       struct ethernet_regs *eth = bus->priv;\n> +#endif\n> +\n> +       return fec_mdio_write(eth, phyaddr, regaddr, data);\n>  }\n>\n>  #ifndef CONFIG_PHYLIB\n> @@ -985,9 +999,44 @@ static void fec_free_descs(struct fec_priv *fec)\n>         free(fec->tbd_base);\n>  }\n>\n> +#if defined(CONFIG_DM_ETH) && defined(CONFIG_DM_GPIO)\n> +static int fec_phy_reset(struct mii_dev *bus)\n> +{\n> +       struct fec_priv *priv = dev_get_priv((struct udevice *)bus->priv);\n> +       int ret;\n> +\n> +       if (!dm_gpio_is_valid(&priv->reset_gpio))\n> +               return 0;\n> +\n> +       /* phy reset */\n> +       ret = dm_gpio_set_value(&priv->reset_gpio, 0);\n> +       if (ret)\n> +               return ret;\n> +\n> +       mdelay(priv->reset_duration);\n> +\n> +       ret = dm_gpio_set_value(&priv->reset_gpio, 1);\n> +       if (ret)\n> +               return ret;\n> +\n> +       mdelay(priv->reset_duration);\n> +\n> +       return 0;\n> +}\n> +#endif\n> +\n> +#ifdef CONFIG_DM_ETH\n> +struct mii_dev *fec_get_miibus(struct udevice *dev, int dev_id)\n> +#else\n>  struct mii_dev *fec_get_miibus(uint32_t base_addr, int dev_id)\n> +#endif\n>  {\n> +#ifdef CONFIG_DM_ETH\n> +       struct fec_priv *priv = dev_get_priv(dev);\n> +       struct ethernet_regs *eth = priv->eth;\n> +#else\n>         struct ethernet_regs *eth = (struct ethernet_regs *)base_addr;\n> +#endif\n>         struct mii_dev *bus;\n>         int ret;\n>\n> @@ -998,7 +1047,14 @@ struct mii_dev *fec_get_miibus(uint32_t base_addr, int dev_id)\n>         }\n>         bus->read = fec_phy_read;\n>         bus->write = fec_phy_write;\n> +#ifdef CONFIG_DM_ETH\n> +       bus->priv = dev;\n> +# ifdef CONFIG_DM_GPIO\n> +       bus->reset = fec_phy_reset;\n> +# endif\n> +#else\n>         bus->priv = eth;\n> +#endif\n>         fec_set_dev_name(bus->name, dev_id);\n>\n>         ret = mdio_register(bus);\n> @@ -1223,7 +1279,7 @@ static int fecmxc_probe(struct udevice *dev)\n>         if (ret)\n>                 return ret;\n>\n> -       bus = fec_get_miibus((uint32_t)priv->eth, dev_id);\n> +       bus = fec_get_miibus(dev, dev_id);\n>         if (!bus)\n>                 goto err_mii;\n>\n> @@ -1278,6 +1334,7 @@ static int fecmxc_ofdata_to_platdata(struct udevice *dev)\n>         struct eth_pdata *pdata = dev_get_platdata(dev);\n>         struct fec_priv *priv = dev_get_priv(dev);\n>         const char *phy_mode;\n> +       int ret = 0;\n>\n>         pdata->iobase = (phys_addr_t)dev_get_addr(dev);\n>         priv->eth = (struct ethernet_regs *)pdata->iobase;\n> @@ -1292,12 +1349,22 @@ static int fecmxc_ofdata_to_platdata(struct udevice *dev)\n>                 return -EINVAL;\n>         }\n>\n> -       /* TODO\n> -        * Need to get the reset-gpio and related properties from DT\n> -        * and implemet the enet reset code on .probe call\n> -        */\n> +#ifdef CONFIG_DM_GPIO\n> +       /* phy reset gpio */\n> +       ret = gpio_request_by_name(dev, \"phy-reset-gpios\", 0,\n> +                                  &priv->reset_gpio, GPIOD_IS_OUT);\n> +       if (ret == 0) {\n> +               priv->reset_duration = fdtdec_get_int(gd->fdt_blob,\n> +                                                     dev_of_offset(dev),\n> +                                                     \"phy-reset-duration\", 1);\n\nSeems like\n\n> +               /* A sane reset duration should not be longer than 1s */\n> +               if (priv->reset_duration > 1000)\n> +                       priv->reset_duration = 1;\n\nIt seems odd to set it to 1 ms if the requested was too long. Maybe it\nshould just be priv->reset_duration = MIN(priv->reset_duration, 1000);\n?\n\nAlso, should the member variable have \"_ms\" at the end to make the units clear?\n\n> +               ret = 0;\n> +       }\n> +#endif\n>\n> -       return 0;\n> +       return ret;\n>  }\n>\n>  static const struct udevice_id fecmxc_ids[] = {\n> diff --git a/drivers/net/fec_mxc.h b/drivers/net/fec_mxc.h\n> index 43a7d7b..fd51d6d 100644\n> --- a/drivers/net/fec_mxc.h\n> +++ b/drivers/net/fec_mxc.h\n> @@ -17,6 +17,10 @@\n>  #ifndef __FEC_MXC_H\n>  #define __FEC_MXC_H\n>\n> +#ifdef CONFIG_DM_GPIO\n> +# include <asm-generic/gpio.h>\n> +#endif\n> +\n>  /* Layout description of the FEC */\n>  struct ethernet_regs {\n>         /* [10:2]addr = 00 */\n> @@ -254,6 +258,11 @@ struct fec_priv {\n>\n>  #ifdef CONFIG_DM_ETH\n>         u32 interface;\n> +\n> +# ifdef CONFIG_DM_GPIO\n> +       struct gpio_desc reset_gpio;\n> +       u32 reset_duration;\n> +# endif\n>  #endif\n>  };\n>\n> diff --git a/include/netdev.h b/include/netdev.h\n> index 8eb8b46..e5668f4 100644\n> --- a/include/netdev.h\n> +++ b/include/netdev.h\n> @@ -133,7 +133,12 @@ static inline int pci_eth_init(bd_t *bis)\n>         return num;\n>  }\n>\n> +#ifdef CONFIG_DM_ETH\n> +struct mii_dev *fec_get_miibus(struct udevice *dev, int dev_id);\n> +#else\n>  struct mii_dev *fec_get_miibus(uint32_t base_addr, int dev_id);\n> +#endif\n> +\n>  #ifdef CONFIG_PHYLIB\n>  struct phy_device;\n>  int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr,\n> --\n> 2.7.4\n>\n> _______________________________________________\n> U-Boot mailing list\n> U-Boot@lists.denx.de\n> https://lists.denx.de/listinfo/u-boot","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3wckP132Mzz9s72\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 31 May 2017 05:36:04 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid 450D3C21C68; Tue, 30 May 2017 19:36:00 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 9478EC21C3C;\n\tTue, 30 May 2017 19:35:56 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid 49794C21C3C; Tue, 30 May 2017 19:35:55 +0000 (UTC)","from mx0b-00010702.pphosted.com (mx0a-00010702.pphosted.com\n\t[148.163.156.75])\n\tby lists.denx.de (Postfix) with ESMTPS id 901E3C21C32\n\tfor <u-boot@lists.denx.de>; Tue, 30 May 2017 19:35:54 +0000 (UTC)","from pps.filterd (m0098781.ppops.net [127.0.0.1])\n\tby mx0a-00010702.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id\n\tv4UJZqje013470\n\tfor <u-boot@lists.denx.de>; Tue, 30 May 2017 14:35:52 -0500","from nam03-co1-obe.outbound.protection.outlook.com\n\t(mail-co1nam03lp0024.outbound.protection.outlook.com [216.32.181.24])\n\tby mx0a-00010702.pphosted.com with ESMTP id 2aq5fv393t-2\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT)\n\tfor <u-boot@lists.denx.de>; Tue, 30 May 2017 14:35:52 -0500","from mail-qk0-f179.google.com (209.85.220.179) by\n\tMWHPR04MB0929.namprd04.prod.outlook.com (10.174.174.151) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id\n\t15.1.1124.9; Tue, 30 May 2017 19:35:47 +0000","by mail-qk0-f179.google.com with SMTP id 19so11755166qke.2\n\tfor <u-boot@lists.denx.de>; Tue, 30 May 2017 12:35:46 -0700 (PDT)","by 10.200.50.59 with HTTP; Tue, 30 May 2017 12:35:22 -0700 (PDT)"],"Authentication-Results":["ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nio365.onmicrosoft.com\n\theader.i=@nio365.onmicrosoft.com header.b=\"CvSP7nny\"; \n\tdkim-atps=neutral","lists.denx.de; dkim=none (message not signed)\n\theader.d=none; lists.denx.de;\n\tdmarc=none action=none header.from=ni.com; "],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,\n\tT_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=nio365.onmicrosoft.com; s=selector1-ni-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=+9qJt5djirMwiSwNysgE1chqItUoKubKJLtR9Kxui9Y=;\n\tb=CvSP7nnyZVhJO1PUBVknGiMkrnv+EnyruNXpScekJ9Ea72jEZec1xrE5jOImLN5GYfNRKQJiTN1dZRzvhFLUoi5W6IfPxNAWcRFI7qdR839bEuRfGE/Nqd09fhyinmBnjxUhccvBNMxjFOjJtylF9dxS56qn+WVKKFrQgJPROl0=","X-Gm-Message-State":"AODbwcCWpp/9cUIEHnQ9uu9UTovRHMAFOXFG9ZtMN0jljxBm+gHuyRR/\n\t5vtolEHX2y5Szy4AbV0d9UZMHBFhew==","X-Received":"by 10.55.43.142 with SMTP id r14mr16847715qkr.78.1496172943187; \n\tTue, 30 May 2017 12:35:43 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<1495546425-753-1-git-send-email-jteki@openedev.com>","References":"<1495546425-753-1-git-send-email-jteki@openedev.com>","From":"Joe Hershberger <joe.hershberger@ni.com>","Date":"Tue, 30 May 2017 14:35:22 -0500","X-Gmail-Original-Message-ID":"<CANr=Z=YKsw8mUO3AKLPCYoVn1moMLVQeAdU5bKWFp1vV02+pKQ@mail.gmail.com>","Message-ID":"<CANr=Z=YKsw8mUO3AKLPCYoVn1moMLVQeAdU5bKWFp1vV02+pKQ@mail.gmail.com>","To":"Jagan Teki <jagannadh.teki@gmail.com>","X-Originating-IP":"[209.85.220.179]","X-ClientProxiedBy":"BN6PR06CA0036.namprd06.prod.outlook.com (10.174.93.25) To\n\tMWHPR04MB0929.namprd04.prod.outlook.com (10.174.174.151)","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"MWHPR04MB0929:","X-MS-Office365-Filtering-Correlation-Id":"3bf91055-fa8f-4705-acae-08d4a7931209","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(201703131423075)(201703031133081); SRVR:MWHPR04MB0929; ","X-Microsoft-Exchange-Diagnostics":["1; MWHPR04MB0929;\n\t3:ADevhD0LyP1e1DH14YpSQrluziJffJa50ylxaLOb42HVKxJWSVYA36ZEtDDVXittpvEXNfwUn3WIScfiKOgcx5wisX5eAKGfkVJTwbrLgX7/mIHQDSXpl5MpjPL7XlKnaSUZDNZ4Oq06jlLluyFI3XTfF87LUEF/qjBNnSevltAvSOcN85NsagkpzmBnrTZVGpRsJDKHAKz/xuGJVo1/UZQXFn2WtOv7w7A98SrOKTmRY5sTNvm/G2Q6e1VK7XEA80diNxMpTiQMSILlmJa+cwcR2raF6v+KvEeycDyuAQm9N00DJSSl/Xf3ZCtt8tJwul5FzJ93T76ijjWglEveZA==;\n\t25:pcGLleoEvmc93pfu3fOGadWu8qCVeNc5v3DsOu9W0k7Tmg1p0xxP4gERXUCtuwyye+M0NP3WHjhTOHIqSNrU0Otp9bc8p4r4mc6BMlTTAeQ6rp09NDOHvPD5lRQtndfS79sp1J7aae+k5pLEbw0H79jJjF20wBKoLrVXk/YzhYwJPPFiZSBB5lGK3eQW+5OaRGIggXBqaljWbJLmSkm4mrc68fEl8sxt3tTg1WOXir5maR6h8NTqs/bdHfeqjn8g+U4Bd0nAEmV4TeFDo+YOCO1Bf9p94z75w9i/XAY52Rt3wUsgzuQ3ebWV0n/dMF0EcX28uPRGlxt8CTmMxwfkjS27/nPbMFqx6S9f62AR3u8rFSmLZVDhJzMZOfYENSiAqjHZEJtvO829k5GE4niBbz+yL5kwZql9m/VPuo6QRYGq6AVIIE5Wny45Zx6/bkOFlvU4tn0W8F1/UZHkiAFXmBj5ekNxtoRZ64pAAps7rZM=","1; MWHPR04MB0929;\n\t31:8sIHlCn2PhErmpXy4ZobpZoNZafxwFeSRMy8Y8Susp8ycNyytpxH4v/8Ih85sQDCgyyy17/7X1eP4jbtLLFvqPuXwcA/fn1bR5Mp4EOTkhRq0Db2AWeUsVgFJkn9X4ERlyLiNI/agZ6ccY3XNeUdKXhBQA3PUTlWBHfudwRKxTw4WYAPG3pzZGBjNt2tapljI6H/OC/DIPtQmlLDWhd3xpxDTrbQJY/RqDSy9MlNSevvdnjpm2lYtgZUKCGBtehngn2Bc57QJr/V4MBte3lXBw==;\n\t20:u8PB5jThuJuM5jVnqk27u+AER3VOHYNFOVWEOj+XnzZVwEuK54NOR70auZBU2t5AbEPpGDAsXpqw+tVSe2Vxq67Vy3SbCon5w5lzJjyhLkCUPlacV2v1KBlVCfketj0KextLiFlULK56GoB1yXsbzz+/i13TeCoZojvT8dsrc/gN16R9A22GJnYJNqXP9gzRc+A/7C2RIam8scDIltCKIgyvsTwnBmCv3eHnXC1JR37L7b4GnMi3cSykoY57lJL+aZLSEGt5f7pxrJSusep5VXl2IZHrm74ns4KHvey0X2x4CrdyjACXV7ercq40Cb4+y3AyZaAe1y9SsJ8qeE0pFpVad/ExfDGUtcsGrto8ZYEAH+hn56Bh3k8ecMvGPVncHjzlG6gJvcGwMYhKL5Znnzme803xmetr3EeaFHQL3po4+yQx+HtVVcZbhVHm7b0oMc9GBIsGK6HVRZ/5F23vSLaTPt6sigfqKVLr7Nbk4Y9NW0xbXYe3CnNbQLGKdCTfcwtgAi1+/Ih3+2tnBW5CPEJ1p1octx9Xrwaw/a1irjP17iF05A4TTGK3DrXJKi3EsXJTjgTP2DjeheFd6dzVttjPIyp6L2Ifc1/8NfznOPY=","=?utf-8?B?MTtNV0hQUjA0TUIwOTI5OzQ6MUFkMFFrOTdFNi9ESzNZV3h0MkhEMzZvcGFm?=\n\t=?utf-8?B?NG1Gcjh0ZENsVFBYNGlXNU9rN21EUnhCRmkyQVRKRTlldHNiVWtjbFl5RGY2?=\n\t=?utf-8?B?UTA2S2FUWHZ5KzFKaFdVUGRtd1lmNG4xckFTdU9PU0VCbmR2OGsvOU11T0wy?=\n\t=?utf-8?B?TXZMWlYzQ2hmQzFoeUhUb1Y5UG9kYVM4YWlZSUNwQUljQkZiT2VidDhTTU9l?=\n\t=?utf-8?B?eDA5c3MvdVMxb1FZUFIxUXlqcFhWVXFFK3JZNnZ6VjFWem90cmVYQWFYeXFn?=\n\t=?utf-8?B?U3Jsa3M5TUsySWtHSENHWXJwendWL1lnenZ5aEdQdURaU0JIY3o5Z2Foa3Z3?=\n\t=?utf-8?B?Q3RRaXNxb2Zwc0Vyb2FtU3NaS1hKZUFPS0dLVXBEZkVZTGtEV05xTG1tV3Iy?=\n\t=?utf-8?B?aTgrcUtaM1dDQnhNQ05wdURTZlRYWUEyUHJ6QVMwOFFRNzBzemQzOTRjelBn?=\n\t=?utf-8?B?aUlnRWR5V2ZRSXdlNFMrWGFnaFBvNmRwK25FVFpub2Zrb3lWdndmM3ZTTW1r?=\n\t=?utf-8?B?VmJUVURwdDBuNTJ3a1phUVVPc05RempGaUNwOEF0NjAxL2VQWnBGaFE0K25s?=\n\t=?utf-8?B?Y1EwWjc5NXJZdmUrenFidlE2enQySmtVR3A5ZUdQZ3JIM3hoZGx1OUl4Q2xQ?=\n\t=?utf-8?B?bnA0Qk1JQ3UySURMWjNtTXFkamtDL1BEbjdQN2I3VEIyMXFCNGZSUmdXUURQ?=\n\t=?utf-8?B?RFAwVUwzTEh3YXpFOHZoRG14SUhFdGg1WUovV3BkVWd5Z2lzVG5FYmhCREI5?=\n\t=?utf-8?B?R3VDWUxBMHpDRkNHdW9Na3Q2NnZTWU1ubjg2Ri9zU1lpVzh0WFlPRnlGSnV4?=\n\t=?utf-8?B?ZTYrYlpFMldQZWdveEZBVys4MWZiR3V0dkxFSys0TWdkN3oxOG9tdzVnMC8x?=\n\t=?utf-8?B?TjVIdGpJbjdQMnFvY3VUenJVYVR5Y3V2VG1NS2tGU2NXUWc3Y1YzSVNka0Za?=\n\t=?utf-8?B?b1V6ZHJOcWtjTXh6QU8xNDFwbDRhN21wSnpMSFhyNE0wdG5ZVkdaQnZId2JI?=\n\t=?utf-8?B?T3Z4RDNQMWlrV2h4eVZ5cDM0U2tVdzZSQTlZMWh1dHRnd1J0VUlnb2hSZ1NU?=\n\t=?utf-8?B?dFJuN2EzbGl5WjdvbmU4Q3ZmL2VlNEdMaWtkOWpYOGlFdTBRUE0zSEFPQ3NC?=\n\t=?utf-8?B?YjY2cWgvRlUvQnJOYkgrNHBXOGtOZFdzbWhveGt0T3ZpeDlmd0dDaE9HVzhw?=\n\t=?utf-8?B?R2VRRU9MRThSNENOTjFrMjNqVUZvMGhZeElJcUNKZ0d6ZTdoQjJWVENiWDhV?=\n\t=?utf-8?B?b0gvQkdKWjdxaThubzZyRWFuZzIrNDRBL3BieExud0dpTnZSbFNtbVd4b2wr?=\n\t=?utf-8?B?N1NobzJ5N3J1N2ZWSWJ5aXd3QVJYeTdTbFhFUWxRVXA4c05acXhYeUVPY1lG?=\n\t=?utf-8?B?ZERwcGJUVVI2WUlWeC8xbXZjWWRwZVUyRkF4RjZlT0NlNVlZRHVBQkpQdFMr?=\n\t=?utf-8?B?b2RZL2hZMkJuUzM2dlVsYk9vTzZHR2tnNVcrVWxXYlRRWWhiMGZUTklNdVRz?=\n\t=?utf-8?B?VVJEZFBmWElTYys4MVROVWlZQkh5NHVwWUFGWFlsamhOOVNubkoyV2tNNWhG?=\n\t=?utf-8?B?UVpVVjFmQ1N0R1k0a0liN0l2SzU4a2Z1dEZJQzl2WTdhWUEzdTVweGNna1dR?=\n\t=?utf-8?B?THdScVMrWUwvcUREbUJzVGdhWC9xMk9Ec2hqRnpneGxwcnV1M0JHcTRtN0R1?=\n\t=?utf-8?Q?mH/brXbtJ8yN4VO1A=3D?=","=?utf-8?B?MTtNV0hQUjA0TUIwOTI5OzIzOmdPRzhudU9la0hjYTZSVFg0SW5WS1c1cGZP?=\n\t=?utf-8?B?VHZEaEd1eEtBTEUrc014c0pHNjVHQlB1VTkyVVd1VmY1eEVFSmFzTXJYU25z?=\n\t=?utf-8?B?bkFmamxhVVdnQXMxWEVCUXlEUXlpVks4aHBXR2xocDVpR0R5TVRLY0Jyb3BL?=\n\t=?utf-8?B?V1dYUDU5NitJVkVyYzQ3aFJER3J0ZHlRczFybWtTUm5NS2xialE3SzBGVTN0?=\n\t=?utf-8?B?TmQ5THViV2Rma0hSVlgzcUJkVW5OU3BQeFpaTitvRTMrMDh0S3Y0T2xOd3F6?=\n\t=?utf-8?B?c0ZKU2RBVlFBSENXZkRrQnBUWnd3cUYzeXozYTRVM0NRK0JKRzJ6U0U1NTE2?=\n\t=?utf-8?B?VW1pOGhGZ2hMdm4rY1dVMzI0d3kyOVZKOGJtYjZ3YTk2OWxvaU84Wm1uRHRk?=\n\t=?utf-8?B?YU1iMVFnZkxVQ0FYend1S2g0ZmNsZ1NNY0tUR01tQ014d1Ntc1FBdTRZcHRQ?=\n\t=?utf-8?B?ZEVIajBlNkZXaTNlWkFXeVVKbksyaFZ5cTdOVFJSTno5cUt0Z0dZZW1FTU5U?=\n\t=?utf-8?B?YnZGZGhVWFY5bklCcjRGYWc3VFIvRHAyL0xiQWJJRm5IWnhnZjduTk1ZR1FH?=\n\t=?utf-8?B?a29ycEVEakFuckI5Q3lDWU9KR3NVUDM1eW1SdHVhcEtGb3R0Z1NaWjlXalBu?=\n\t=?utf-8?B?U09ITnNFS0tXMmN6bXUxY1R1blhlMXQ4RGpLSUNzM1hHZ1lOTXhxeUI2eHF4?=\n\t=?utf-8?B?bmhGNkFPQnZGMWxwbnlqeUxTN1MrNEpWSDNsOGhidHF3WnVtRlliS0NyNllX?=\n\t=?utf-8?B?TFErdGdDSm5XUnoydVZ6VWhvUXk5czNibW5NKysxRmp5VE9HSk9XOUk1WnNk?=\n\t=?utf-8?B?M1Z6bENSZlpPejFmb2x5VGc2RHkwQXN6L1djVU0yVU5FWnprMkhWV1J1T1dh?=\n\t=?utf-8?B?ektGRHZURnlYYXJpT2M5S21udjFKUGZCSjI2UVE2cnVuZmprTFVDQ3VtZlIy?=\n\t=?utf-8?B?aXdESHhyS0NWRE5HandNck9NaENZWHNKVUpVOVVLUGV4THU4WncveFA3MGlS?=\n\t=?utf-8?B?ZEtyYzlsYitjWXdVSm1LNHQwT2VPNHpVK2ZFcWRyQjE5TXhLYmpUYUM4UEpz?=\n\t=?utf-8?B?d0E4YWNYYmZlamN5WkZ4ZDZNUVJ1OVhua3Eyd0ZKbDBocGx5eU9aTnEwQmJJ?=\n\t=?utf-8?B?NTNWSUZuQko2Yks1OHNDcUliOE1pWElKQ1FwWXNuV3QrcW0zckwwdGxFOUZB?=\n\t=?utf-8?B?aXdHbkpHR0tWRWw0cGd2eklsSWNJT1liZm5ZemE4U0c4N2V0ai90clJzY2gw?=\n\t=?utf-8?B?VnU5eGN3ZXVVdHVxTWtQL3FNWnBkbXhLekVDNFE0M3NUVmxCVXdGdjdtckM3?=\n\t=?utf-8?B?MzhCQk5HRHo3aVY2RnlxZFlzVy9Tc2RCdHFkUlV5SkJHVnlNVktLTXNFN0tQ?=\n\t=?utf-8?B?NE5MVGFJclRRUjFpNXhXd0YzbHZZWFA5cm5jQjByMXlUMi8zM2dzdTVkRito?=\n\t=?utf-8?B?RUhxOWNqL2o2TXhraEYrMENJSlpvM0Q5ZkVFSlowMUZuZ1lQdzQ1UWRMbHVm?=\n\t=?utf-8?B?SXpLc1NKakZGSFhvQ21odGNHL0dhdGRlczl3OGljM2FEMXMxelRpZWpXYlRE?=\n\t=?utf-8?B?aEo4QXlyS0IxcmxHOUJMQ0NXN0JQSGw1NDQyTDBYeHd0cUdRcGFKdFVCR21K?=\n\t=?utf-8?B?YWhHTVR4ZG1JVW5MbFkzZmVhZjFTUDFaNEw0WFV2aU5peTZyVE9JaXZSWEox?=\n\t=?utf-8?B?SEZSa2ltc2lkMHJoQUNiM1pjNUNIUzRaa1VZZ0RpZ2IzbTc0cGpjcForMHRC?=\n\t=?utf-8?Q?n7midOX95OC5FXvV5s+u3g/UFS2+Ryx5DMG+U=3D?=","1; MWHPR04MB0929;\n\t6:UAb0cLVy5Ym+9Bv3vf8hUV/lGJjONFiFFbt8H/BXTe6hJ+ZaMkYrUU8JZ6Z8mwWoREOimQbOyCmdGBUTN7dmCgrGq09k215gJmLd9W3bfFeIASWlfL2riMb3yTxWW/FEMgVwv5/TQbTbulA2ao+7dd5XU8aqxxFtD2/XBUMWuC6/HOd0pbf+DMUK1IbqfPkp5n2NiLmmbPofA/4X0IZNhd5Oe3RtdKOYiWamZrMOT4zf2zNzuCEA9ISWOtBiaO7SSUiI8aT2Khsd2prGlhbOtiurmlWlTJBE7Zocczs0RtfzJOxP1fhmO1yVy+kKBoCb+1pcjGgZElzFyfpVUn0/v48f5+w+6IuM4JDygc6jUTsmwHvtoVAj6/l5NrcJAJZLOk0h61d4+ZQJEOwjNpgl9lhETlQa9aaemHCgAqGOuuk2ptQMWA8nua2gJQlzCPL8y70qUPy8jBES5y2FqmsjOLX8JQCdUj8M4M7a1MmTQc9edn+pMCmpm/U7T21Fr8TTEAElBzjoxKs/dCQhN2VIbw==","1; MWHPR04MB0929;\n\t5:ycxfeJx4mR7vUZ9XW5Omn3OtkBzEVmBefkZpQJtFxgPRQwqQeuv5GhjjJLsvFOUF6Jp5CsGYDOC2/9pVoVUzrqqPHMiguTq7NVu6VGdJ05auOK1+aZ5NRBkZNLeUJYi7347DFr+8a4B1G8BdTI1OZBlbC4fOMGXTSd4kTuG98pw62rBOA/gy8WMbDmtUZauItM6SfNtHPHonFvs+Wt2DW+2Wu2b4gk+XS/ioZV3IsIStmDmoQ6wcfbzdKkssBWhShykwCVFs4u32n2arfRgCqnZ8YyLTrT2ojYJEE9VoxSwqjJ/P7uJJ5ePKxdbc0DSAmUmdax2D8al54N6zQOWKbhcH3OIT48U3d8upvrICzMOTZkLlUfk8Sh7GubFCS4AD61hRECGX1TbJtrxqndODfy9Lh333G2Q+w6y1+wZ9QrQ7BQniEkEt7jYekSrcachQ6NiKvGpWjnv85Pi7UTWnIyN4/bYva2COLww5lJHpMU9I9e2apMBmQXGkxhEiXZRG;\n\t24:yCm2mId0ivDxEEotzWJVmOqwr3PilsbtWG9O/8kTCNz7lKkclVBVBR+qcrjqBi95sah2xo45aXJh722Vhh6odaq6GBTAYb0gE13PRi0+hc0=","1; MWHPR04MB0929;\n\t7:o5UjJ4rci5UectP33ZIqFQIlKTfbgkrWNZesrsVxMwelWVepyNjV/WCZ4yXuayGVbJtnPHpLO2B0o1tzc3md/ru1L/OT6q0ibUN+iv4VDQ6dDhXHq3IqLNpGirtZIfZTj1Rd8DV5oO+Qq8uhMk6EDph/ULPlevaE9bj0XbmETaCNEv8beJBD7oIGqtPzRWmk6xw5+HKVR7x5Th6Y5i4FQcWfxLno6XBJ3O3beHOK8lri1v7vtgENvTL4hHgQx9PMU6NejgZUkIc8MB1jxV+xvawFSM04GYsq+H0OKqvAmJ8Nhhh3EQEh38P2oomViQqv2BNJfIIjg1LVK3q9gEXteQ=="],"X-Microsoft-Antispam-PRVS":"<MWHPR04MB0929E7C6E2A07ED8587E58A5F6F00@MWHPR04MB0929.namprd04.prod.outlook.com>","X-Exchange-Antispam-Report-Test":"UriScan:(185117386973197)(16074681357397)(145744241990776); ","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700073)(100105000095)(100000701073)(100105300095)(100000702073)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(100000703073)(100105400095)(3002001)(93006095)(93001095)(6041248)(20161123562025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123555025)(6072148)(100000704073)(100105200095)(100000705073)(100105500095);\n\tSRVR:MWHPR04MB0929; BCL:0; PCL:0;\n\tRULEID:(100000800073)(100110000095)(100000801073)(100110300095)(100000802073)(100110100095)(100000803073)(100110400095)(100000804073)(100110200095)(100000805073)(100110500095);\n\tSRVR:MWHPR04MB0929; ","X-Forefront-PRVS":"032334F434","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10019020)(4630300001)(6009001)(39400400002)(39410400002)(39850400002)(39450400003)(39840400002)(377454003)(43544003)(24454002)(42186005)(53936002)(110136004)(5820100001)(38730400002)(498394004)(6306002)(9686003)(54906002)(4001600100001)(55446002)(122856001)(189998001)(50466002)(23676002)(6246003)(229853002)(478600001)(47776003)(66066001)(59536001)(2950100002)(9896002)(98316002)(4326008)(43066003)(50986999)(76176999)(53546009)(63696999)(54356999)(81166006)(61726006)(8676002)(2860700002)(2906002)(305945005)(7736002)(5660300001)(6116002)(3846002)(6862004)(55456009);\n\tDIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR04MB0929;\n\tH:mail-qk0-f179.google.com; FPR:; \n\tSPF:None; MLV:sfv; LANG:en; ","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"ni.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"30 May 2017 19:35:47.0727\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"MWHPR04MB0929","X-Proofpoint-Virus-Version":"vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2017-05-30_12:, , signatures=0","X-Proofpoint-Spam-Details":"rule=outbound_policy_notspam\n\tpolicy=outbound_policy score=30\n\tpriorityscore=1501 malwarescore=0 suspectscore=5 phishscore=0\n\tbulkscore=0\n\tspamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0\n\tadultscore=0\n\tclassifier=spam adjust=30 reason=mlx scancount=1\n\tengine=8.0.1-1703280000\n\tdefinitions=main-1705300358","Cc":"Fabio Estevam <fabio.estevam@nxp.com>, u-boot <u-boot@lists.denx.de>,\n\tJagan Teki <jagan@openedev.com>, Joe Hershberger <joe.hershberger@ni.com>","Subject":"Re: [U-Boot] [PATCH v8 14/17] net: fec_mxc: Add fec_phy_reset\n\tsupport","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","Reply-To":"joe.hershberger@gmail.com","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"}}]