Re: [U-Boot] [PATCH v5 06/21] imx6: icorem6: Add ENET support
On Wed, Sep 28, 2016 at 2:36 PM, Jagan Teki wrote: > On Thu, Sep 29, 2016 at 1:03 AM, Joe Hershberger > wrote: >> On Wed, Sep 28, 2016 at 2:30 PM, Jagan Teki wrote: >>> On Thu, Sep 29, 2016 at 12:51 AM, Joe Hershberger >>> wrote: On Wed, Sep 28, 2016 at 2:15 PM, Jagan Teki wrote: > On Thu, Sep 29, 2016 at 12:41 AM, Joe Hershberger > wrote: >> On Wed, Sep 28, 2016 at 1:28 PM, Jagan Teki wrote: >>> From: Jagan Teki >>> >>> Add enet support for engicam icorem6 qdl starter kit. >>> - Add pinmux settings >>> - Add board_eth_init >>> >>> TFTP log: >>> >>> Net: FEC [PRIME] >>> Hit any key to stop autoboot: 0 >>> icorem6qdl> tftpboot {fdt_addr} imx6dl-icore.dtb >>> Using FEC device >>> TFTP from server 192.168.2.96; our IP address is 192.168.2.75 >>> Filename 'imx6dl-icore.dtb'. >>> Load address: 0x0 >>> Loading: ## >>> 1.3 MiB/s >>> done >>> Bytes transferred = 28976 (7130 hex) >>> CACHE: Misaligned operation at range [, 7130] >>> icorem6qdl> >>> >>> Cc: Joe Hershberger >>> Cc: Peng Fan >>> Cc: Stefano Babic >>> Cc: Fabio Estevam >>> Cc: Matteo Lisi >>> Cc: Michael Trimarchi >>> Signed-off-by: Jagan Teki >>> --- >>> board/engicam/icorem6/icorem6.c | 72 >>> + >>> configs/imx6qdl_icore_mmc_defconfig | 4 +++ >>> include/configs/imx6qdl_icore.h | 12 +++ >>> 3 files changed, 88 insertions(+) >>> >> >> ... >> >>> diff --git a/configs/imx6qdl_icore_mmc_defconfig >>> b/configs/imx6qdl_icore_mmc_defconfig >>> index a658f4b..d304693 100644 >>> --- a/configs/imx6qdl_icore_mmc_defconfig >>> +++ b/configs/imx6qdl_icore_mmc_defconfig >>> @@ -14,6 +14,8 @@ CONFIG_SYS_MAXARGS=32 >>> # CONFIG_CMD_IMLS is not set >>> CONFIG_CMD_BOOTZ=y >>> CONFIG_CMD_GPIO=y >>> +CONFIG_CMD_MII=y >>> +CONFIG_CMD_PING=y >>> CONFIG_CMD_MEMTEST=y >>> CONFIG_CMD_MMC=y >>> CONFIG_CMD_CACHE=y >>> @@ -23,5 +25,7 @@ CONFIG_CMD_EXT4_WRITE=y >>> CONFIG_CMD_FAT=y >>> CONFIG_CMD_FS_GENERIC=y >>> CONFIG_OF_LIBFDT=y >>> +CONFIG_FEC_MXC=y >>> CONFIG_MXC_UART=y >>> +CONFIG_NETDEVICES=y >>> CONFIG_IMX_THERMAL=y >> >> I guess this board can't use CONFIG_DM_ETH for some reason? > > True I will remove and send the patch. I assume you mean you'll switch the board to enable CONFIG_DM_ETH? Not sure what you mean when you say you will remove (something) when my comment was about the absence of a config. >>> >>> Sorry, I am not planning to use DM_ETH as of now. Since all net >>> drivers in Kconfig are in if CONFIG_NETDEVICES. ie the reason I added. >>> I think this is needed in defconfig. >> >> CONFIG_NETDEVICES certainly is needed if you don't specify >> CONFIG_DM_ETH. I prefer new board support use DM_ETH. What's the >> reason for not using DM? > > Because fec_mxc still not supporting dm, it is still in ML. OK. Acked-by: Joe Hershberger ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 06/21] imx6: icorem6: Add ENET support
On Thu, Sep 29, 2016 at 1:03 AM, Joe Hershberger wrote: > On Wed, Sep 28, 2016 at 2:30 PM, Jagan Teki wrote: >> On Thu, Sep 29, 2016 at 12:51 AM, Joe Hershberger >> wrote: >>> On Wed, Sep 28, 2016 at 2:15 PM, Jagan Teki >>> wrote: On Thu, Sep 29, 2016 at 12:41 AM, Joe Hershberger wrote: > On Wed, Sep 28, 2016 at 1:28 PM, Jagan Teki wrote: >> From: Jagan Teki >> >> Add enet support for engicam icorem6 qdl starter kit. >> - Add pinmux settings >> - Add board_eth_init >> >> TFTP log: >> >> Net: FEC [PRIME] >> Hit any key to stop autoboot: 0 >> icorem6qdl> tftpboot {fdt_addr} imx6dl-icore.dtb >> Using FEC device >> TFTP from server 192.168.2.96; our IP address is 192.168.2.75 >> Filename 'imx6dl-icore.dtb'. >> Load address: 0x0 >> Loading: ## >> 1.3 MiB/s >> done >> Bytes transferred = 28976 (7130 hex) >> CACHE: Misaligned operation at range [, 7130] >> icorem6qdl> >> >> Cc: Joe Hershberger >> Cc: Peng Fan >> Cc: Stefano Babic >> Cc: Fabio Estevam >> Cc: Matteo Lisi >> Cc: Michael Trimarchi >> Signed-off-by: Jagan Teki >> --- >> board/engicam/icorem6/icorem6.c | 72 >> + >> configs/imx6qdl_icore_mmc_defconfig | 4 +++ >> include/configs/imx6qdl_icore.h | 12 +++ >> 3 files changed, 88 insertions(+) >> > > ... > >> diff --git a/configs/imx6qdl_icore_mmc_defconfig >> b/configs/imx6qdl_icore_mmc_defconfig >> index a658f4b..d304693 100644 >> --- a/configs/imx6qdl_icore_mmc_defconfig >> +++ b/configs/imx6qdl_icore_mmc_defconfig >> @@ -14,6 +14,8 @@ CONFIG_SYS_MAXARGS=32 >> # CONFIG_CMD_IMLS is not set >> CONFIG_CMD_BOOTZ=y >> CONFIG_CMD_GPIO=y >> +CONFIG_CMD_MII=y >> +CONFIG_CMD_PING=y >> CONFIG_CMD_MEMTEST=y >> CONFIG_CMD_MMC=y >> CONFIG_CMD_CACHE=y >> @@ -23,5 +25,7 @@ CONFIG_CMD_EXT4_WRITE=y >> CONFIG_CMD_FAT=y >> CONFIG_CMD_FS_GENERIC=y >> CONFIG_OF_LIBFDT=y >> +CONFIG_FEC_MXC=y >> CONFIG_MXC_UART=y >> +CONFIG_NETDEVICES=y >> CONFIG_IMX_THERMAL=y > > I guess this board can't use CONFIG_DM_ETH for some reason? True I will remove and send the patch. >>> >>> I assume you mean you'll switch the board to enable CONFIG_DM_ETH? Not >>> sure what you mean when you say you will remove (something) when my >>> comment was about the absence of a config. >> >> Sorry, I am not planning to use DM_ETH as of now. Since all net >> drivers in Kconfig are in if CONFIG_NETDEVICES. ie the reason I added. >> I think this is needed in defconfig. > > CONFIG_NETDEVICES certainly is needed if you don't specify > CONFIG_DM_ETH. I prefer new board support use DM_ETH. What's the > reason for not using DM? Because fec_mxc still not supporting dm, it is still in ML. thanks! -- Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 06/21] imx6: icorem6: Add ENET support
On Wed, Sep 28, 2016 at 2:30 PM, Jagan Teki wrote: > On Thu, Sep 29, 2016 at 12:51 AM, Joe Hershberger > wrote: >> On Wed, Sep 28, 2016 at 2:15 PM, Jagan Teki wrote: >>> On Thu, Sep 29, 2016 at 12:41 AM, Joe Hershberger >>> wrote: On Wed, Sep 28, 2016 at 1:28 PM, Jagan Teki wrote: > From: Jagan Teki > > Add enet support for engicam icorem6 qdl starter kit. > - Add pinmux settings > - Add board_eth_init > > TFTP log: > > Net: FEC [PRIME] > Hit any key to stop autoboot: 0 > icorem6qdl> tftpboot {fdt_addr} imx6dl-icore.dtb > Using FEC device > TFTP from server 192.168.2.96; our IP address is 192.168.2.75 > Filename 'imx6dl-icore.dtb'. > Load address: 0x0 > Loading: ## > 1.3 MiB/s > done > Bytes transferred = 28976 (7130 hex) > CACHE: Misaligned operation at range [, 7130] > icorem6qdl> > > Cc: Joe Hershberger > Cc: Peng Fan > Cc: Stefano Babic > Cc: Fabio Estevam > Cc: Matteo Lisi > Cc: Michael Trimarchi > Signed-off-by: Jagan Teki > --- > board/engicam/icorem6/icorem6.c | 72 > + > configs/imx6qdl_icore_mmc_defconfig | 4 +++ > include/configs/imx6qdl_icore.h | 12 +++ > 3 files changed, 88 insertions(+) > ... > diff --git a/configs/imx6qdl_icore_mmc_defconfig > b/configs/imx6qdl_icore_mmc_defconfig > index a658f4b..d304693 100644 > --- a/configs/imx6qdl_icore_mmc_defconfig > +++ b/configs/imx6qdl_icore_mmc_defconfig > @@ -14,6 +14,8 @@ CONFIG_SYS_MAXARGS=32 > # CONFIG_CMD_IMLS is not set > CONFIG_CMD_BOOTZ=y > CONFIG_CMD_GPIO=y > +CONFIG_CMD_MII=y > +CONFIG_CMD_PING=y > CONFIG_CMD_MEMTEST=y > CONFIG_CMD_MMC=y > CONFIG_CMD_CACHE=y > @@ -23,5 +25,7 @@ CONFIG_CMD_EXT4_WRITE=y > CONFIG_CMD_FAT=y > CONFIG_CMD_FS_GENERIC=y > CONFIG_OF_LIBFDT=y > +CONFIG_FEC_MXC=y > CONFIG_MXC_UART=y > +CONFIG_NETDEVICES=y > CONFIG_IMX_THERMAL=y I guess this board can't use CONFIG_DM_ETH for some reason? >>> >>> True I will remove and send the patch. >> >> I assume you mean you'll switch the board to enable CONFIG_DM_ETH? Not >> sure what you mean when you say you will remove (something) when my >> comment was about the absence of a config. > > Sorry, I am not planning to use DM_ETH as of now. Since all net > drivers in Kconfig are in if CONFIG_NETDEVICES. ie the reason I added. > I think this is needed in defconfig. CONFIG_NETDEVICES certainly is needed if you don't specify CONFIG_DM_ETH. I prefer new board support use DM_ETH. What's the reason for not using DM? Thanks, -Joe ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 06/21] imx6: icorem6: Add ENET support
On Thu, Sep 29, 2016 at 12:51 AM, Joe Hershberger wrote: > On Wed, Sep 28, 2016 at 2:15 PM, Jagan Teki wrote: >> On Thu, Sep 29, 2016 at 12:41 AM, Joe Hershberger >> wrote: >>> On Wed, Sep 28, 2016 at 1:28 PM, Jagan Teki wrote: From: Jagan Teki Add enet support for engicam icorem6 qdl starter kit. - Add pinmux settings - Add board_eth_init TFTP log: Net: FEC [PRIME] Hit any key to stop autoboot: 0 icorem6qdl> tftpboot {fdt_addr} imx6dl-icore.dtb Using FEC device TFTP from server 192.168.2.96; our IP address is 192.168.2.75 Filename 'imx6dl-icore.dtb'. Load address: 0x0 Loading: ## 1.3 MiB/s done Bytes transferred = 28976 (7130 hex) CACHE: Misaligned operation at range [, 7130] icorem6qdl> Cc: Joe Hershberger Cc: Peng Fan Cc: Stefano Babic Cc: Fabio Estevam Cc: Matteo Lisi Cc: Michael Trimarchi Signed-off-by: Jagan Teki --- board/engicam/icorem6/icorem6.c | 72 + configs/imx6qdl_icore_mmc_defconfig | 4 +++ include/configs/imx6qdl_icore.h | 12 +++ 3 files changed, 88 insertions(+) >>> >>> ... >>> diff --git a/configs/imx6qdl_icore_mmc_defconfig b/configs/imx6qdl_icore_mmc_defconfig index a658f4b..d304693 100644 --- a/configs/imx6qdl_icore_mmc_defconfig +++ b/configs/imx6qdl_icore_mmc_defconfig @@ -14,6 +14,8 @@ CONFIG_SYS_MAXARGS=32 # CONFIG_CMD_IMLS is not set CONFIG_CMD_BOOTZ=y CONFIG_CMD_GPIO=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y CONFIG_CMD_MEMTEST=y CONFIG_CMD_MMC=y CONFIG_CMD_CACHE=y @@ -23,5 +25,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_OF_LIBFDT=y +CONFIG_FEC_MXC=y CONFIG_MXC_UART=y +CONFIG_NETDEVICES=y CONFIG_IMX_THERMAL=y >>> >>> I guess this board can't use CONFIG_DM_ETH for some reason? >> >> True I will remove and send the patch. > > I assume you mean you'll switch the board to enable CONFIG_DM_ETH? Not > sure what you mean when you say you will remove (something) when my > comment was about the absence of a config. Sorry, I am not planning to use DM_ETH as of now. Since all net drivers in Kconfig are in if CONFIG_NETDEVICES. ie the reason I added. I think this is needed in defconfig. thanks! -- Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 06/21] imx6: icorem6: Add ENET support
On Wed, Sep 28, 2016 at 2:15 PM, Jagan Teki wrote: > On Thu, Sep 29, 2016 at 12:41 AM, Joe Hershberger > wrote: >> On Wed, Sep 28, 2016 at 1:28 PM, Jagan Teki wrote: >>> From: Jagan Teki >>> >>> Add enet support for engicam icorem6 qdl starter kit. >>> - Add pinmux settings >>> - Add board_eth_init >>> >>> TFTP log: >>> >>> Net: FEC [PRIME] >>> Hit any key to stop autoboot: 0 >>> icorem6qdl> tftpboot {fdt_addr} imx6dl-icore.dtb >>> Using FEC device >>> TFTP from server 192.168.2.96; our IP address is 192.168.2.75 >>> Filename 'imx6dl-icore.dtb'. >>> Load address: 0x0 >>> Loading: ## >>> 1.3 MiB/s >>> done >>> Bytes transferred = 28976 (7130 hex) >>> CACHE: Misaligned operation at range [, 7130] >>> icorem6qdl> >>> >>> Cc: Joe Hershberger >>> Cc: Peng Fan >>> Cc: Stefano Babic >>> Cc: Fabio Estevam >>> Cc: Matteo Lisi >>> Cc: Michael Trimarchi >>> Signed-off-by: Jagan Teki >>> --- >>> board/engicam/icorem6/icorem6.c | 72 >>> + >>> configs/imx6qdl_icore_mmc_defconfig | 4 +++ >>> include/configs/imx6qdl_icore.h | 12 +++ >>> 3 files changed, 88 insertions(+) >>> >> >> ... >> >>> diff --git a/configs/imx6qdl_icore_mmc_defconfig >>> b/configs/imx6qdl_icore_mmc_defconfig >>> index a658f4b..d304693 100644 >>> --- a/configs/imx6qdl_icore_mmc_defconfig >>> +++ b/configs/imx6qdl_icore_mmc_defconfig >>> @@ -14,6 +14,8 @@ CONFIG_SYS_MAXARGS=32 >>> # CONFIG_CMD_IMLS is not set >>> CONFIG_CMD_BOOTZ=y >>> CONFIG_CMD_GPIO=y >>> +CONFIG_CMD_MII=y >>> +CONFIG_CMD_PING=y >>> CONFIG_CMD_MEMTEST=y >>> CONFIG_CMD_MMC=y >>> CONFIG_CMD_CACHE=y >>> @@ -23,5 +25,7 @@ CONFIG_CMD_EXT4_WRITE=y >>> CONFIG_CMD_FAT=y >>> CONFIG_CMD_FS_GENERIC=y >>> CONFIG_OF_LIBFDT=y >>> +CONFIG_FEC_MXC=y >>> CONFIG_MXC_UART=y >>> +CONFIG_NETDEVICES=y >>> CONFIG_IMX_THERMAL=y >> >> I guess this board can't use CONFIG_DM_ETH for some reason? > > True I will remove and send the patch. I assume you mean you'll switch the board to enable CONFIG_DM_ETH? Not sure what you mean when you say you will remove (something) when my comment was about the absence of a config. Thanks, -Joe ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 06/21] imx6: icorem6: Add ENET support
On Thu, Sep 29, 2016 at 12:41 AM, Joe Hershberger wrote: > On Wed, Sep 28, 2016 at 1:28 PM, Jagan Teki wrote: >> From: Jagan Teki >> >> Add enet support for engicam icorem6 qdl starter kit. >> - Add pinmux settings >> - Add board_eth_init >> >> TFTP log: >> >> Net: FEC [PRIME] >> Hit any key to stop autoboot: 0 >> icorem6qdl> tftpboot {fdt_addr} imx6dl-icore.dtb >> Using FEC device >> TFTP from server 192.168.2.96; our IP address is 192.168.2.75 >> Filename 'imx6dl-icore.dtb'. >> Load address: 0x0 >> Loading: ## >> 1.3 MiB/s >> done >> Bytes transferred = 28976 (7130 hex) >> CACHE: Misaligned operation at range [, 7130] >> icorem6qdl> >> >> Cc: Joe Hershberger >> Cc: Peng Fan >> Cc: Stefano Babic >> Cc: Fabio Estevam >> Cc: Matteo Lisi >> Cc: Michael Trimarchi >> Signed-off-by: Jagan Teki >> --- >> board/engicam/icorem6/icorem6.c | 72 >> + >> configs/imx6qdl_icore_mmc_defconfig | 4 +++ >> include/configs/imx6qdl_icore.h | 12 +++ >> 3 files changed, 88 insertions(+) >> > > ... > >> diff --git a/configs/imx6qdl_icore_mmc_defconfig >> b/configs/imx6qdl_icore_mmc_defconfig >> index a658f4b..d304693 100644 >> --- a/configs/imx6qdl_icore_mmc_defconfig >> +++ b/configs/imx6qdl_icore_mmc_defconfig >> @@ -14,6 +14,8 @@ CONFIG_SYS_MAXARGS=32 >> # CONFIG_CMD_IMLS is not set >> CONFIG_CMD_BOOTZ=y >> CONFIG_CMD_GPIO=y >> +CONFIG_CMD_MII=y >> +CONFIG_CMD_PING=y >> CONFIG_CMD_MEMTEST=y >> CONFIG_CMD_MMC=y >> CONFIG_CMD_CACHE=y >> @@ -23,5 +25,7 @@ CONFIG_CMD_EXT4_WRITE=y >> CONFIG_CMD_FAT=y >> CONFIG_CMD_FS_GENERIC=y >> CONFIG_OF_LIBFDT=y >> +CONFIG_FEC_MXC=y >> CONFIG_MXC_UART=y >> +CONFIG_NETDEVICES=y >> CONFIG_IMX_THERMAL=y > > I guess this board can't use CONFIG_DM_ETH for some reason? True I will remove and send the patch. thanks! -- Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v5 06/21] imx6: icorem6: Add ENET support
On Wed, Sep 28, 2016 at 1:28 PM, Jagan Teki wrote: > From: Jagan Teki > > Add enet support for engicam icorem6 qdl starter kit. > - Add pinmux settings > - Add board_eth_init > > TFTP log: > > Net: FEC [PRIME] > Hit any key to stop autoboot: 0 > icorem6qdl> tftpboot {fdt_addr} imx6dl-icore.dtb > Using FEC device > TFTP from server 192.168.2.96; our IP address is 192.168.2.75 > Filename 'imx6dl-icore.dtb'. > Load address: 0x0 > Loading: ## > 1.3 MiB/s > done > Bytes transferred = 28976 (7130 hex) > CACHE: Misaligned operation at range [, 7130] > icorem6qdl> > > Cc: Joe Hershberger > Cc: Peng Fan > Cc: Stefano Babic > Cc: Fabio Estevam > Cc: Matteo Lisi > Cc: Michael Trimarchi > Signed-off-by: Jagan Teki > --- > board/engicam/icorem6/icorem6.c | 72 > + > configs/imx6qdl_icore_mmc_defconfig | 4 +++ > include/configs/imx6qdl_icore.h | 12 +++ > 3 files changed, 88 insertions(+) > ... > diff --git a/configs/imx6qdl_icore_mmc_defconfig > b/configs/imx6qdl_icore_mmc_defconfig > index a658f4b..d304693 100644 > --- a/configs/imx6qdl_icore_mmc_defconfig > +++ b/configs/imx6qdl_icore_mmc_defconfig > @@ -14,6 +14,8 @@ CONFIG_SYS_MAXARGS=32 > # CONFIG_CMD_IMLS is not set > CONFIG_CMD_BOOTZ=y > CONFIG_CMD_GPIO=y > +CONFIG_CMD_MII=y > +CONFIG_CMD_PING=y > CONFIG_CMD_MEMTEST=y > CONFIG_CMD_MMC=y > CONFIG_CMD_CACHE=y > @@ -23,5 +25,7 @@ CONFIG_CMD_EXT4_WRITE=y > CONFIG_CMD_FAT=y > CONFIG_CMD_FS_GENERIC=y > CONFIG_OF_LIBFDT=y > +CONFIG_FEC_MXC=y > CONFIG_MXC_UART=y > +CONFIG_NETDEVICES=y > CONFIG_IMX_THERMAL=y I guess this board can't use CONFIG_DM_ETH for some reason? ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v5 06/21] imx6: icorem6: Add ENET support
From: Jagan Teki Add enet support for engicam icorem6 qdl starter kit. - Add pinmux settings - Add board_eth_init TFTP log: Net: FEC [PRIME] Hit any key to stop autoboot: 0 icorem6qdl> tftpboot {fdt_addr} imx6dl-icore.dtb Using FEC device TFTP from server 192.168.2.96; our IP address is 192.168.2.75 Filename 'imx6dl-icore.dtb'. Load address: 0x0 Loading: ## 1.3 MiB/s done Bytes transferred = 28976 (7130 hex) CACHE: Misaligned operation at range [, 7130] icorem6qdl> Cc: Joe Hershberger Cc: Peng Fan Cc: Stefano Babic Cc: Fabio Estevam Cc: Matteo Lisi Cc: Michael Trimarchi Signed-off-by: Jagan Teki --- board/engicam/icorem6/icorem6.c | 72 + configs/imx6qdl_icore_mmc_defconfig | 4 +++ include/configs/imx6qdl_icore.h | 12 +++ 3 files changed, 88 insertions(+) diff --git a/board/engicam/icorem6/icorem6.c b/board/engicam/icorem6/icorem6.c index 1856972..a23cb7e 100644 --- a/board/engicam/icorem6/icorem6.c +++ b/board/engicam/icorem6/icorem6.c @@ -9,12 +9,15 @@ #include #include #include +#include +#include #include #include #include #include +#include #include #include #include @@ -30,11 +33,28 @@ DECLARE_GLOBAL_DATA_PTR; PAD_CTL_PUS_22K_UP | PAD_CTL_SPEED_LOW | \ PAD_CTL_DSE_80ohm | PAD_CTL_SRE_FAST | PAD_CTL_HYS) +#define ENET_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE |\ + PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ + PAD_CTL_DSE_40ohm | PAD_CTL_HYS) + static iomux_v3_cfg_t const uart4_pads[] = { IOMUX_PADS(PAD_KEY_COL0__UART4_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), IOMUX_PADS(PAD_KEY_ROW0__UART4_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), }; +static iomux_v3_cfg_t const enet_pads[] = { + IOMUX_PADS(PAD_ENET_CRS_DV__ENET_RX_EN | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_GPIO_16__ENET_REF_CLK | MUX_PAD_CTRL(ENET_PAD_CTRL | PAD_CTL_SRE_FAST)), + IOMUX_PADS(PAD_ENET_TX_EN__ENET_TX_EN | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_ENET_RXD1__ENET_RX_DATA1 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_ENET_RXD0__ENET_RX_DATA0 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_ENET_TXD1__ENET_TX_DATA1 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_ENET_TXD0__ENET_TX_DATA0 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_ENET_MDC__ENET_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_GPIO_17__GPIO7_IO12 | MUX_PAD_CTRL(NO_PAD_CTRL)), +}; + static iomux_v3_cfg_t const usdhc1_pads[] = { IOMUX_PADS(PAD_SD1_CLK__SD1_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)), IOMUX_PADS(PAD_SD1_CMD__SD1_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)), @@ -99,6 +119,58 @@ int board_mmc_init(bd_t *bis) } #endif +#ifdef CONFIG_FEC_MXC +#define ENET_PHY_RST IMX_GPIO_NR(7, 12) +static int setup_fec(void) +{ + struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR; + struct anatop_regs *anatop = (struct anatop_regs *)ANATOP_BASE_ADDR; + s32 timeout = 10; + u32 reg = 0; + int ret; + + /* Enable fec clock */ + setbits_le32(&ccm->CCGR1, MXC_CCM_CCGR1_ENET_MASK); + + /* use 50MHz */ + ret = enable_fec_anatop_clock(0, ENET_50MHZ); + if (ret) + return ret; + + /* Enable PLLs */ + reg = readl(&anatop->pll_enet); + reg &= ~BM_ANADIG_PLL_SYS_POWERDOWN; + writel(reg, &anatop->pll_enet); + reg = readl(&anatop->pll_enet); + reg |= BM_ANADIG_PLL_SYS_ENABLE; + while (timeout--) { + if (readl(&anatop->pll_enet) & BM_ANADIG_PLL_SYS_LOCK) + break; + } + if (timeout <= 0) + return -EIO; + reg &= ~BM_ANADIG_PLL_SYS_BYPASS; + writel(reg, &anatop->pll_enet); + + /* reset the phy */ + gpio_direction_output(ENET_PHY_RST, 0); + udelay(1); + gpio_set_value(ENET_PHY_RST, 1); + + return 0; +} + +int board_eth_init(bd_t *bis) +{ + int ret; + + SETUP_IOMUX_PADS(enet_pads); + setup_fec(); + + return ret = cpu_eth_init(bis); +} +#endif + int board_early_init_f(void) { SETUP_IOMUX_PADS(uart4_pads); diff --git a/configs/imx6qdl_icore_mmc_defconfig b/configs/imx6qdl_icore_mmc_defconfig index a658f4b..d304693 100644 --- a/configs/imx6qdl_icore_mmc_defconfig +++ b/configs/imx6qdl_icore_mmc_defconfig @@ -14,6 +14,8 @@ CONFIG_SYS_MAXARGS=32 # CONFIG_CMD_IMLS is not set CONFIG_CMD_BOOTZ=y CONFIG_CMD_GPIO=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y CONFIG_CMD_MEMTEST=y CONFIG_CMD_MMC=y CONFIG_CMD_CACHE=y @@ -23,5 +25,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_OF_LIBFDT=y +CONFIG_FEC_MXC=y CONFIG_MXC_UART=y +CONFIG_NETDEVICES=y CONFIG_IMX_THERMAL=y diff --git a/include/configs/imx6qdl_icore.h b/include/configs/imx6q