[U-Boot] [PATCH v1 16/21] display5: net: Add function to read ethaddr from iMX6 fuses

Lukasz Majewski lukma at denx.de
Wed May 16 14:46:13 UTC 2018


Hi Joe,

> Hi Lukasz,
> 
> On Fri, May 11, 2018 at 9:51 AM, Lukasz Majewski <lukma at denx.de>
> wrote:
> > Signed-off-by: Lukasz Majewski <lukma at denx.de>
> > ---
> >
> >  board/liebherr/display5/display5.c | 21 +++++++++++++++++++++
> >  1 file changed, 21 insertions(+)
> >
> > diff --git a/board/liebherr/display5/display5.c
> > b/board/liebherr/display5/display5.c index 4bade476a5..a3deba216c
> > 100644 --- a/board/liebherr/display5/display5.c
> > +++ b/board/liebherr/display5/display5.c
> > @@ -254,6 +254,25 @@ static void setup_iomux_enet(void)
> >         gpio_direction_input(IMX_GPIO_NR(1, 28)); /*INT#_GBE*/
> >  }
> >
> > +static int setup_mac_from_fuse(void)
> > +{
> > +       unsigned char enetaddr[6];
> > +       int ret;
> > +
> > +       ret = eth_env_get_enetaddr("ethaddr", enetaddr);
> > +       if (ret)        /* ethaddr is already set */
> > +               return 0;
> > +
> > +       imx_get_mac_from_fuse(0, enetaddr);  
> 
> Generally this should be registered as a read_rom_hwaddr handler.

This function seems like a generic approach for IMX SoC:
arch/arm/mach-imx/mac.c

On the other hand the fec_mxc.c driver seems to have such function:

	.read_rom_hwaddr	= fecmxc_read_rom_hwaddr,
(which latter on calls the above function).

To use this function in the automatic way I would need to enable DM_ETH
for this board.

> 
> Then you won't be recreating the logic around what to do with it.
> 
> > +
> > +       if (is_valid_ethaddr(enetaddr)) {
> > +               eth_env_set_enetaddr("ethaddr", enetaddr);
> > +               return 0;
> > +       }
> > +
> > +       return 0;
> > +}
> > +
> >  int board_eth_init(bd_t *bd)
> >  {
> >         struct phy_device *phydev;
> > @@ -268,6 +287,8 @@ int board_eth_init(bd_t *bd)
> >         if (ret)
> >                 return ret;
> >
> > +       setup_mac_from_fuse();
> > +
> >         bus = fec_get_miibus(IMX_FEC_BASE, -1);
> >         if (!bus)
> >                 return -ENODEV;
> > --
> > 2.11.0
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot  




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180516/77201a8d/attachment.sig>


More information about the U-Boot mailing list