[U-Boot] FW: u-boot v2016 vs v2013

From: Mehmet Ali İPİN Sent: Friday, January 12, 2018 8:39 AM To: 'u-boot@lists.dex.de' u-boot@lists.dex.de Subject: u-boot v2016 vs v2013
Dear Sir/Madam,
Hello,
We have an i.mx6dl board which was referenced to sabreauto kit, except we use KSZ9021 as phy chip instead of AR8031. We installed the krogoth and jethro versions of yocto; as result u-booth 2016 and 2013 versions were installed accordingly. When downloaded the code 2013 u-boot version controlled the phy chip, even we did not touch the ethernet-phy related files.
But for u-boot 2016, even we modified the config and source files according to KSZ9021, even MDO and MDCLK pins are not activated.
I would be very grateful, if anybody knows a solution about this problem and/or give me a direction.
Thanks and best regards.

On Fri, Jan 12, 2018 at 4:00 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
From: Mehmet Ali İPİN Sent: Friday, January 12, 2018 8:39 AM To: 'u-boot@lists.dex.de' u-boot@lists.dex.de Subject: u-boot v2016 vs v2013
Dear Sir/Madam,
Hello,
We have an i.mx6dl board which was referenced to sabreauto kit, except we use KSZ9021 as phy chip instead of AR8031. We installed the krogoth and jethro versions of yocto; as result u-booth 2016 and 2013 versions were installed accordingly. When downloaded the code 2013 u-boot version controlled the phy chip, even we did not touch the ethernet-phy related files.
But for u-boot 2016, even we modified the config and source files according to KSZ9021, even MDO and MDCLK pins are not activated.
I would be very grateful, if anybody knows a solution about this problem and/or give me a direction.
Please try 2018.01 instead.
Another suggestion is to do a similar changes in your board file like this: http://git.denx.de/?p=u-boot.git;a=commitdiff;h=dac09fc10b71045ac261a9b8a05d...
Regards,
Fabio Estevam

Dear Estevam,
Thank you very much for your answer. I downloaded u-boot 2018.01. Its make file required gcc 6.0 or later. Then I downloaded gcc 7.2. Building it.
Do you know is there a yocto version which is stable with u-boot 2018?
Thanks and best regards.
-----Original Message----- From: Fabio Estevam [mailto:festevam@gmail.com] Sent: Friday, January 12, 2018 2:59 PM To: Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] FW: u-boot v2016 vs v2013
On Fri, Jan 12, 2018 at 4:00 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
From: Mehmet Ali İPİN Sent: Friday, January 12, 2018 8:39 AM To: 'u-boot@lists.dex.de' u-boot@lists.dex.de Subject: u-boot v2016 vs v2013
Dear Sir/Madam,
Hello,
We have an i.mx6dl board which was referenced to sabreauto kit, except we use KSZ9021 as phy chip instead of AR8031. We installed the krogoth and jethro versions of yocto; as result u-booth 2016 and 2013 versions were installed accordingly. When downloaded the code 2013 u-boot version controlled the phy chip, even we did not touch the ethernet-phy related files.
But for u-boot 2016, even we modified the config and source files according to KSZ9021, even MDO and MDCLK pins are not activated.
I would be very grateful, if anybody knows a solution about this problem and/or give me a direction.
Please try 2018.01 instead.
Another suggestion is to do a similar changes in your board file like this: http://git.denx.de/?p=u-boot.git;a=commitdiff;h=dac09fc10b71045ac261a9b8a05d...
Regards,
Fabio Estevam

On Mon, Jan 15, 2018 at 11:24 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
Thank you very much for your answer. I downloaded u-boot 2018.01. Its make file required gcc 6.0 or later. Then I downloaded gcc 7.2. Building it.
Do you know is there a yocto version which is stable with u-boot 2018?
Not sure about which version of U-Boot Yocto supports. You can build U-Boot manually and give it a try.
Does the problem happen with U-Boot 2018.01?

Hi Mehmet,
On 15/01/2018 17:34, Fabio Estevam wrote:
On Mon, Jan 15, 2018 at 11:24 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
Thank you very much for your answer. I downloaded u-boot 2018.01. Its make file required gcc 6.0 or later. Then I downloaded gcc 7.2. Building it.
Do you know is there a yocto version which is stable with u-boot 2018?
Not sure about which version of U-Boot Yocto supports. You can build U-Boot manually and give it a try.
Last official U-Boot version in Yocto (rocko) is 2017.09. Anyway, the best way to do is as recommended by Fabio (build manually and test).
Best regards, Stefano Babic

Dear Estevam.
Thank you for your helps and interests,
I downloaded and installed gcc/g++ version 7.2 but, make file of u-boot-2018 gives the message below:
*** Your GCC is older than 6.0 and is not supported make: *** [checkgcc6] Error 1
but my gcc version is 7.2.0
mai@ubuntu:~/u-boot-2018.01$ gcc --version gcc (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0
I am searching a solution, but if you know, please help..
Best regards.
-----Original Message----- From: Fabio Estevam [mailto:festevam@gmail.com] Sent: Monday, January 15, 2018 7:34 PM To: Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] FW: u-boot v2016 vs v2013
On Mon, Jan 15, 2018 at 11:24 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
Thank you very much for your answer. I downloaded u-boot 2018.01. Its make file required gcc 6.0 or later. Then I downloaded gcc 7.2. Building it.
Do you know is there a yocto version which is stable with u-boot 2018?
Not sure about which version of U-Boot Yocto supports. You can build U-Boot manually and give it a try.
Does the problem happen with U-Boot 2018.01?

On Tue, Jan 16, 2018 at 10:47 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam.
Thank you for your helps and interests,
I downloaded and installed gcc/g++ version 7.2 but, make file of u-boot-2018 gives the message below:
*** Your GCC is older than 6.0 and is not supported make: *** [checkgcc6] Error 1
but my gcc version is 7.2.0
mai@ubuntu:~/u-boot-2018.01$ gcc --version gcc (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0
I am searching a solution, but if you know, please help..
Not sure about Ubuntu but when I build in Fedora you need to have a ARM toolchain for cross compiling so I'd make sure that's updated to the same version too.
-----Original Message----- From: Fabio Estevam [mailto:festevam@gmail.com] Sent: Monday, January 15, 2018 7:34 PM To: Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] FW: u-boot v2016 vs v2013
On Mon, Jan 15, 2018 at 11:24 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
Thank you very much for your answer. I downloaded u-boot 2018.01. Its make file required gcc 6.0 or later. Then I downloaded gcc 7.2. Building it.
Do you know is there a yocto version which is stable with u-boot 2018?
Not sure about which version of U-Boot Yocto supports. You can build U-Boot manually and give it a try.
Does the problem happen with U-Boot 2018.01? _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

On Tue, Jan 16, 2018 at 8:47 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam.
Thank you for your helps and interests,
I downloaded and installed gcc/g++ version 7.2 but, make file of u-boot-2018 gives the message below:
*** Your GCC is older than 6.0 and is not supported make: *** [checkgcc6] Error 1
but my gcc version is 7.2.0
mai@ubuntu:~/u-boot-2018.01$ gcc --version gcc (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0
This is your host PC GCC. You need to upgrade your cross-compile GCC.
Or for a quick test you can do:
git revert 6b867dabe84bae1e7 , which will allow you to build with your old GCC.

Dear Estevam,
Thank you for your helps. I finally managed to build u-boot-2018. With these commands: export CROSS_COMPILE=/opt/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi- export ARCH=arm make distclean make mx6sabreauto_defconfig make
There are u-boot, u-boot.bin, u-boot.img, ... files, but I could not see u-boot.imx file, which we use it to download to the DDR via USB, with usb_loader program.
I used u-boot-2016 lately, which was generating .imx file; Do you know if we can generate it with 2018.1?
Best regards.
-----Original Message----- From: Fabio Estevam [mailto:festevam@gmail.com] Sent: Tuesday, January 16, 2018 2:49 PM To: Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] FW: u-boot v2016 vs v2013
On Tue, Jan 16, 2018 at 8:47 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam.
Thank you for your helps and interests,
I downloaded and installed gcc/g++ version 7.2 but, make file of u-boot-2018 gives the message below:
*** Your GCC is older than 6.0 and is not supported make: *** [checkgcc6] Error 1
but my gcc version is 7.2.0
mai@ubuntu:~/u-boot-2018.01$ gcc --version gcc (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0
This is your host PC GCC. You need to upgrade your cross-compile GCC.
Or for a quick test you can do:
git revert 6b867dabe84bae1e7 , which will allow you to build with your old GCC.

Hi Mehmet,
On Tue, Jan 16, 2018 at 11:40 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
Thank you for your helps. I finally managed to build u-boot-2018. With these commands: export CROSS_COMPILE=/opt/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi- export ARCH=arm make distclean make mx6sabreauto_defconfig make
There are u-boot, u-boot.bin, u-boot.img, ... files, but I could not see u-boot.imx file, which we use it to download to the DDR via USB, with usb_loader program.
I used u-boot-2016 lately, which was generating .imx file; Do you know if we can generate it with 2018.1?
mx6sabreauto has been converted to SPL, so the generated binaries are SPL and u-boot.img.
You can flash them into the SD card like this:
- Flash the SPL binary into the SD card:
$ sudo dd if=SPL of=/dev/sdX bs=1K seek=1 && sync
- Flash the u-boot.img binary into the SD card:
$ sudo dd if=u-boot.img of=/dev/sdX bs=1K seek=69 && sync
This is described in board/freescale/mx6sabreauto/README.
You can also load SPL and u-boot.img via imx_usb_loader tool. Make sure you use their latest code and follow doc/README.sdp.

Dear Estevam,
Thank you very much; With your helps managed to use u-boot 2018, gcc 7.2 and SPL, generated u-boot.img image and downloaded into board.
SD card and e-MMC working well. Ethernet Phy is also answering mii info as shown below:
=> mii info PHY 0x05: OUI = 0x0885, Model = 0x21, Rev = 0x01, 10baseT, HDX => setenv ipadr 10.0.0.10 => dhcp FEC Waiting for PHY auto negotiation to complete......... TIMEOUT ! Could not initialize PHY FEC BOOTP broadcast 1 BOOTP broadcast 2 . . . BOOTP broadcast 17
Retry time exceeded; starting again.
I would be grateful, if you Have any idea how can I test and solve the dhcp command?
With my best regards.
Mehmet Ali
-----Original Message----- From: Fabio Estevam [mailto:festevam@gmail.com] Sent: Tuesday, January 16, 2018 5:57 PM To: Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] FW: u-boot v2016 vs v2013
Hi Mehmet,
On Tue, Jan 16, 2018 at 11:40 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
Thank you for your helps. I finally managed to build u-boot-2018. With these commands: export CROSS_COMPILE=/opt/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi
export ARCH=arm make distclean make mx6sabreauto_defconfig make
There are u-boot, u-boot.bin, u-boot.img, ... files, but I could not see u-boot.imx file, which we use it to download to the DDR via USB, with usb_loader program.
I used u-boot-2016 lately, which was generating .imx file; Do you know if we can generate it with 2018.1?
mx6sabreauto has been converted to SPL, so the generated binaries are SPL and u-boot.img.
You can flash them into the SD card like this:
- Flash the SPL binary into the SD card:
$ sudo dd if=SPL of=/dev/sdX bs=1K seek=1 && sync
- Flash the u-boot.img binary into the SD card:
$ sudo dd if=u-boot.img of=/dev/sdX bs=1K seek=69 && sync
This is described in board/freescale/mx6sabreauto/README.
You can also load SPL and u-boot.img via imx_usb_loader tool. Make sure you use their latest code and follow doc/README.sdp.

On Wed, Jan 24, 2018 at 9:57 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
Thank you very much; With your helps managed to use u-boot 2018, gcc 7.2 and SPL, generated u-boot.img image and downloaded into board.
SD card and e-MMC working well. Ethernet Phy is also answering mii info as shown below:
=> mii info PHY 0x05: OUI = 0x0885, Model = 0x21, Rev = 0x01, 10baseT, HDX => setenv ipadr 10.0.0.10 => dhcp FEC Waiting for PHY auto negotiation to complete......... TIMEOUT ! Could not initialize PHY FEC BOOTP broadcast 1 BOOTP broadcast 2 . . . BOOTP broadcast 17
Retry time exceeded; starting again.
I would be grateful, if you Have any idea how can I test and solve the dhcp command?
It's hard to understand what could be wrong without seeing your code nor schematics.
Are you able to get Ethernet working in Linux?

Dear Estevam,
I am (in fact hardware engineer developed the PCB) not an experienced u-boot/linux developer, therefore sorry for my complex questions. I will check the forum, and google for this message, but you may help me to start the right path.
May be, according to your experience you can advise me to check some (phy/mac) register, pin status, clock values, Or give the name of threads in u-boot or nxp imx6 forum which is about similar dhcp events, if you remember.
Since its a new PCB board, so we did not load/run the linux yet.
Thanks and best regards.
Mehmet Ali
-----Original Message----- From: Fabio Estevam [mailto:festevam@gmail.com] Sent: Wednesday, January 24, 2018 2:59 PM To: Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] FW: u-boot v2016 vs v2013
On Wed, Jan 24, 2018 at 9:57 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
Thank you very much; With your helps managed to use u-boot 2018, gcc 7.2 and SPL, generated u-boot.img image and downloaded into board.
SD card and e-MMC working well. Ethernet Phy is also answering mii info as shown below:
=> mii info PHY 0x05: OUI = 0x0885, Model = 0x21, Rev = 0x01, 10baseT, HDX => setenv ipadr 10.0.0.10 => dhcp FEC Waiting for PHY auto negotiation to complete......... TIMEOUT ! Could not initialize PHY FEC BOOTP broadcast 1 BOOTP broadcast 2 . . . BOOTP broadcast 17
Retry time exceeded; starting again.
I would be grateful, if you Have any idea how can I test and solve the dhcp command?
It's hard to understand what could be wrong without seeing your code nor schematics.
Are you able to get Ethernet working in Linux?

On Wed, Jan 24, 2018 at 10:26 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
I am (in fact hardware engineer developed the PCB) not an experienced u-boot/linux developer, therefore sorry for my complex questions. I will check the forum, and google for this message, but you may help me to start the right path.
May be, according to your experience you can advise me to check some (phy/mac) register, pin status, clock values, Or give the name of threads in u-boot or nxp imx6 forum which is about similar dhcp events, if you remember.
Since its a new PCB board, so we did not load/run the linux yet.
Try looking at existing supported boards that use KSZ9021, such as board/boundary/nitrogen6x/nitrogen6x.c for example.

Thanks and best regards.
-----Original Message----- From: Fabio Estevam [mailto:festevam@gmail.com] Sent: Wednesday, January 24, 2018 3:29 PM To: Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] FW: u-boot v2016 vs v2013
On Wed, Jan 24, 2018 at 10:26 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
I am (in fact hardware engineer developed the PCB) not an experienced u-boot/linux developer, therefore sorry for my complex questions. I will check the forum, and google for this message, but you may help me to start the right path.
May be, according to your experience you can advise me to check some (phy/mac) register, pin status, clock values, Or give the name of threads in u-boot or nxp imx6 forum which is about similar dhcp events, if you remember.
Since its a new PCB board, so we did not load/run the linux yet.
Try looking at existing supported boards that use KSZ9021, such as board/boundary/nitrogen6x/nitrogen6x.c for example.

On Wed, Jan 24, 2018 at 10:29 AM, Fabio Estevam festevam@gmail.com wrote:
Try looking at existing supported boards that use KSZ9021, such as board/boundary/nitrogen6x/nitrogen6x.c for example.
Or also the mx6 udoo board (board/udoo/udoo.c) : http://download.udoo.org/files/schematics/UDOO_REV_D_schematics.pdf

Hi,
On Wed, Jan 24, 2018 at 10:26 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
I am (in fact hardware engineer developed the PCB) not an experienced u-boot/linux developer, therefore sorry for my complex questions. I will check the forum, and google for this message, but you may help me to start the right path.
May be, according to your experience you can advise me to check some (phy/mac) register, pin status, clock values, Or give the name of threads in u-boot or nxp imx6 forum which is about similar dhcp events, if you remember.
Since its a new PCB board, so we did not load/run the linux yet.
Try looking at existing supported boards that use KSZ9021, such as board/boundary/nitrogen6x/nitrogen6x.c for example.
If I may add a remark here. If this is a new board - then look for RGMII's internal delays, which are set in the ETH PHY chip. You may get default values, which may not be correct in your new PCB design.
U-Boot mailing list U-Boot@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@denx.de

Dear Fabio,
I checked my PHY KSZ9021 schematic (we used i.mx6 Dual Light) with boundary devices sabre_light_revD(they used i.mx6 quad) KSZ9021. We both use same clock and data signals on both i.mx6 and PHY sides.
I saw 6.25 MHz clock signal on RGMII_TXCLK pin of i.mx6dl which is connected to the GTX_CLK input pin of PHY same as in sabre light. PHY is multiplying this clock with 5 and generating 31.25 MHz, which is connected back to the ENET_REF_CLK pin of i.mx6dl.
I guess either my global ethernet clock or its pll clock registers or their mask registers are not set correctly, to generate 25 MHz, instead of 6.25 MHz.
May be you know, how may I correct them?
Thanks and best regards.
Mehmet Ali
-----Original Message----- From: Fabio Estevam [mailto:festevam@gmail.com] Sent: Wednesday, January 24, 2018 3:29 PM To: Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] FW: u-boot v2016 vs v2013
On Wed, Jan 24, 2018 at 10:26 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Estevam,
I am (in fact hardware engineer developed the PCB) not an experienced u-boot/linux developer, therefore sorry for my complex questions. I will check the forum, and google for this message, but you may help me to start the right path.
May be, according to your experience you can advise me to check some (phy/mac) register, pin status, clock values, Or give the name of threads in u-boot or nxp imx6 forum which is about similar dhcp events, if you remember.
Since its a new PCB board, so we did not load/run the linux yet.
Try looking at existing supported boards that use KSZ9021, such as board/boundary/nitrogen6x/nitrogen6x.c for example.

[Please do not top post in mailing lists]
On Thu, Jan 25, 2018 at 9:06 AM, Mehmet Ali İPİN mehmet.ipin@pavotek.com.tr wrote:
Dear Fabio,
I checked my PHY KSZ9021 schematic (we used i.mx6 Dual Light) with boundary devices sabre_light_revD(they used i.mx6 quad) KSZ9021. We both use same clock and data signals on both i.mx6 and PHY sides.
I saw 6.25 MHz clock signal on RGMII_TXCLK pin of i.mx6dl which is connected to the GTX_CLK input pin of PHY same as in sabre light. PHY is multiplying this clock with 5 and generating 31.25 MHz, which is connected back to the ENET_REF_CLK pin of i.mx6dl.
I guess either my global ethernet clock or its pll clock registers or their mask registers are not set correctly, to generate 25 MHz, instead of 6.25 MHz.
May be you know, how may I correct them?
Maybe you need to call enable_fec_anatop_clock() to adjust the FEC clock.
participants (5)
-
Fabio Estevam
-
Lukasz Majewski
-
Mehmet Ali İPİN
-
Peter Robinson
-
Stefano Babic