Skip to content

Ethetnet boot documentation #260

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions configs/AM62PX/AM62PX_linux_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ Replacement Variables
'__FEATURINGMATRIX__' : \
'__SYSFW_CORE_NAME__' : 'TIFS'
'__IMAGE_TYPE__' : 'default'
'__SPL_VCI_STRING_LEN__' : '20'
'__SPL_VCI_STRING__' : 'AM62PX U-Boot R5 SPL'
'__UBOOT_VCI_STRING_LEN__' : '21'
'__UBOOT_VCI_STRING__' : 'AM62PX U-Boot A53 SPL'

Configuration Values
--------------------
Expand Down
2 changes: 1 addition & 1 deletion configs/AM62PX/AM62PX_linux_toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ linux/Foundational_Components/U-Boot/UG-SPI
linux/Foundational_Components/U-Boot/UG-QSPI
linux/Foundational_Components/U-Boot/UG-UART
linux/Foundational_Components/U-Boot/UG-DDRSS
#linux/Foundational_Components/U-Boot/UG-Network-K3
linux/Foundational_Components/U-Boot/UG-Network-K3
linux/Foundational_Components/U-Boot/UG-Splash-Screen
linux/Foundational_Components/U-Boot/UG-RemoteProc

Expand Down
4 changes: 4 additions & 0 deletions configs/AM62X/AM62X_linux_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ Replacement Variables
'__FEATURINGMATRIX__' : \
'__SYSFW_CORE_NAME__' : 'TIFS'
'__IMAGE_TYPE__' : 'default'
'__SPL_VCI_STRING_LEN__' : '19'
'__SPL_VCI_STRING__' : 'AM62X U-Boot R5 SPL'
'__UBOOT_VCI_STRING_LEN__' : '20'
'__UBOOT_VCI_STRING__' : 'AM62X U-Boot A53 SPL'

Configuration Values
--------------------
Expand Down
4 changes: 4 additions & 0 deletions configs/AM64X/AM64X_linux_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ Replacement Variables
'__PCIE_BASE_ADDRESS__' : 'f102000'
'__PCIE_DEVICE_ID__' : '0xb010'
'__IMAGE_TYPE__' : 'default'
'__SPL_VCI_STRING_LEN__' : '19'
'__SPL_VCI_STRING__' : 'AM64X U-Boot R5 SPL'
'__UBOOT_VCI_STRING_LEN__' : '20'
'__UBOOT_VCI_STRING__' : 'AM64X U-Boot A53 SPL'

Configuration Values
--------------------
Expand Down
4 changes: 4 additions & 0 deletions configs/AM68/AM68_linux_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ Replacement Variables
'__PCIE_BASE_ADDRESS__' : '2910000'
'__PCIE_DEVICE_ID__' : '0xb00d'
'__IMAGE_TYPE__' : 'default'
'__SPL_VCI_STRING_LEN__' : '18'
'__SPL_VCI_STRING__' : 'AM68 U-Boot R5 SPL'
'__UBOOT_VCI_STRING_LEN__' : '19'
'__UBOOT_VCI_STRING__' : 'AM68 U-Boot A72 SPL'

Configuration Values
--------------------
Expand Down
1 change: 1 addition & 0 deletions configs/AM68/AM68_linux_toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ linux/Foundational_Components/U-Boot/UG-UART
linux/Foundational_Components/U-Boot/UG-SATA
linux/Foundational_Components/U-Boot/UG-UFS
linux/Foundational_Components/U-Boot/UG-DDRSS-J7
linux/Foundational_Components/U-Boot/UG-Network-K3
linux/Foundational_Components/U-Boot/UG-HyperBus
linux/Foundational_Components/U-Boot/UG-RemoteProc
linux/Foundational_Components/U-Boot/Applications
Expand Down
4 changes: 4 additions & 0 deletions configs/J722S/J722S_linux_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ Replacement Variables
'__FEATURINGMATRIX__' : \
'__SYSFW_CORE_NAME__' : 'TIFS'
'__IMAGE_TYPE__' : 'adas'
'__SPL_VCI_STRING_LEN__' : '19'
'__SPL_VCI_STRING__' : 'J722S U-Boot R5 SPL'
'__UBOOT_VCI_STRING_LEN__' : '20'
'__UBOOT_VCI_STRING__' : 'J722S U-Boot A53 SPL'

Configuration Values
--------------------
Expand Down
1 change: 1 addition & 0 deletions configs/J722S/J722S_linux_toc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ linux/Foundational_Components/U-Boot/UG-NOR
linux/Foundational_Components/U-Boot/UG-UART
linux/Foundational_Components/U-Boot/UG-SATA
linux/Foundational_Components/U-Boot/UG-DDRSS-J7
linux/Foundational_Components/U-Boot/UG-Network-K3
linux/Foundational_Components/U-Boot/UG-HyperBus
linux/Foundational_Components/U-Boot/UG-RemoteProc
linux/Foundational_Components/U-Boot/Applications
Expand Down
42 changes: 21 additions & 21 deletions source/linux/Foundational_Components/U-Boot/UG-General-Info.rst
Original file line number Diff line number Diff line change
Expand Up @@ -358,15 +358,15 @@ Build U-Boot

.. ifconfig:: CONFIG_part_variant in ('J721S2')

+----------------------------+---------------------------------+--------------------------------+--------------------------------+--------------------------------+
| Board | SD/eMMC Boot | UART boot | OSPI boot | USB DFU |
+============================+=================================+================================+================================+================================+
| J721S2 EVM | j721s2\_evm\_r5\_defconfig | j721s2\_evm\_r5\_defconfig | j721s2\_evm\_r5\_defconfig | j721s2\_evm\_r5\_defconfig |
| | j721s2\_evm\_a72\_defconfig | j721s2\_evm\_a72\_defconfig | j721s2\_evm\_a72\_defconfig | j721s2\_evm\_a72\_defconfig |
+----------------------------+---------------------------------+--------------------------------+--------------------------------+--------------------------------+
| AM68 HS-FS SK | j721s2\_evm\_r5\_defconfig | j721s2\_evm\_r5\_defconfig | j721s2\_evm\_r5\_defconfig | |
| | j721s2\_evm\_a72\_defconfig | j721s2\_evm\_a72\_defconfig | j721s2\_evm\_a72\_defconfig | |
+----------------------------+---------------------------------+--------------------------------+--------------------------------+--------------------------------+
+----------------------------+---------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------------+
| Board | SD/eMMC Boot | UART boot | OSPI boot | USB DFU | Ethernet Boot |
+============================+=================================+================================+================================+================================+======================================+
| J721S2 EVM | j721s2\_evm\_r5\_defconfig | j721s2\_evm\_r5\_defconfig | j721s2\_evm\_r5\_defconfig | j721s2\_evm\_r5\_defconfig | |
| | j721s2\_evm\_a72\_defconfig | j721s2\_evm\_a72\_defconfig | j721s2\_evm\_a72\_defconfig | j721s2\_evm\_a72\_defconfig | |
+----------------------------+---------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------------+
| AM68 HS-FS SK | j721s2\_evm\_r5\_defconfig | j721s2\_evm\_r5\_defconfig | j721s2\_evm\_r5\_defconfig | | am68\_sk\_r5\_ethboot\_defconfig |
| | j721s2\_evm\_a72\_defconfig | j721s2\_evm\_a72\_defconfig | j721s2\_evm\_a72\_defconfig | | am68\_sk\_a72\_ethboot\_defconfig |
+----------------------------+---------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------------+

.. ifconfig:: CONFIG_part_variant in ('J784S4')

Expand All @@ -391,12 +391,12 @@ Build U-Boot

.. ifconfig:: CONFIG_part_variant in ('J722S')

+----------------------------+---------------------------------+--------------------------------+--------------------------------+------------------------------------+------------------------------------+
| Board | SD/eMMC Boot | UART boot | OSPI boot | USB DFU | USB MSC |
+============================+=================================+================================+================================+====================================+====================================+
| J722S EVM | j722s\_evm\_r5\_defconfig | j722s\_evm\_r5\_defconfig | j722s\_evm\_r5\_defconfig | j722s\_evm\_r5\_usbdfu.config | j722s\_evm\_r5\_usbmsc.config |
| | j722s\_evm\_a53\_defconfig | j722s\_evm\_a53\_defconfig | j722s\_evm\_a53\_defconfig | j722s\_evm\_a53\_defconfig | j722s\_evm\_a53\_defconfig |
+----------------------------+---------------------------------+--------------------------------+--------------------------------+------------------------------------+------------------------------------+
+----------------------------+---------------------------------+--------------------------------+--------------------------------+------------------------------------+------------------------------------+------------------------------------------+
| Board | SD/eMMC Boot | UART boot | OSPI boot | USB DFU | USB MSC | Ethernet Boot |
+============================+=================================+================================+================================+====================================+====================================+==========================================+
| J722S EVM | j722s\_evm\_r5\_defconfig | j722s\_evm\_r5\_defconfig | j722s\_evm\_r5\_defconfig | j722s\_evm\_r5\_usbdfu.config | j722s\_evm\_r5\_usbmsc.config | j722s\_evm\_r5\_ethboot\_defconfig |
| | j722s\_evm\_a53\_defconfig | j722s\_evm\_a53\_defconfig | j722s\_evm\_a53\_defconfig | j722s\_evm\_a53\_defconfig | j722s\_evm\_a53\_defconfig | j722s\_evm\_a53\_ethboot\_defconfig |
+----------------------------+---------------------------------+--------------------------------+--------------------------------+------------------------------------+------------------------------------+------------------------------------------+

.. ifconfig:: CONFIG_part_variant in ('J721E','J7200','J721S2','J784S4','J742S2')

Expand Down Expand Up @@ -552,12 +552,12 @@ Build U-Boot

.. ifconfig:: CONFIG_part_variant in ('AM62PX')

+-------------+----------------------------------+----------------------------------------------------------+--------------------------------------------------------+
| Board | SD Boot | USB DFU | USB MSC |
+=============+==================================+==========================================================+========================================================+
| AM62PX SK | | ``am62px_evm_r5_defconfig`` | | ``am62px_evm_r5_defconfig am62x_r5_usbdfu.config`` | | ``am62px_evm_r5_defconfig am62x_r5_usbmsc.config`` |
| | | ``am62px_evm_a53_defconfig`` | | ``am62px_evm_a53_defconfig`` | | ``am62px_evm_a53_defconfig`` |
+-------------+----------------------------------+----------------------------------------------------------+--------------------------------------------------------+
+-------------+----------------------------------+----------------------------------------------------------+--------------------------------------------------------+-----------------------------------------+
| Board | SD Boot | USB DFU | USB MSC | Ethernet Boot |
+=============+==================================+==========================================================+========================================================+=========================================+
| AM62PX SK | | ``am62px_evm_r5_defconfig`` | | ``am62px_evm_r5_defconfig am62x_r5_usbdfu.config`` | | ``am62px_evm_r5_defconfig am62x_r5_usbmsc.config`` | | ``am62px_evm_r5_ethboot_defconfig`` |
| | | ``am62px_evm_a53_defconfig`` | | ``am62px_evm_a53_defconfig`` | | ``am62px_evm_a53_defconfig`` | | ``am62px_evm_a53_ethboot_defconfig`` |
+-------------+----------------------------------+----------------------------------------------------------+--------------------------------------------------------+-----------------------------------------+

.. note::

Expand Down
54 changes: 29 additions & 25 deletions source/linux/Foundational_Components/U-Boot/UG-Network-K3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,48 +50,52 @@ binaries files to be sent over TFTP are listed in the table below.
- Disable link info Bootmode pin so that ROM can identify the PHY and establishes link with the supported speed and duplex mode.
- Please note that due to MDIO corruption (Errata i2329), booting over Ethernet is not recommended for production purposes.

.. ifconfig:: CONFIG_part_variant in ('AM64X')
.. ifconfig:: CONFIG_part_variant in ('J722S')

If using ISC dhcpd an example host entry would look like this:
Build tiboot3.bin using ``j722s_evm_r5_ethboot_defconfig``. Build tispl.bin and u-boot.img using ``j722s_evm_a53_ethboot_defconfig``. For instructions to build the bootloader images please refer to :ref:`Build-U-Boot-label`.

.. code-block:: text
.. important::

subnet 10.0.0.0 netmask 255.0.0.0
{
range dynamic-bootp 10.0.0.2 10.0.0.16;
if substring (option vendor-class-identifier, 0, 16) = "TI K3 Bootp Boot"
{
filename "tiboot3.bin";
} elsif substring (option vendor-class-identifier, 0, 20) = "AM64X U-Boot R5 SPL"
{
filename "tispl.bin";
} elsif substring (option vendor-class-identifier, 0, 21) = "AM64X U-Boot A53 SPL"
{
filename "u-boot.img";
}
- Ethernet RGMII boot is supported over RGMII on J722s SoC.
- CPSW PHYs should be strapped as per ROM's expectation described in part's TRM.
- When the link info Bootmode pin is enabled, this means no auto-negotiation or reading of the Ethernet PHY is needed since the ROM will assume the link is up at 1Gbps, full duplex mode.
- Disable link info Bootmode pin so that ROM can identify the PHY and establishes link with the supported speed and duplex mode.

range 10.0.0.17 10.0.0.25;
default-lease-time 60000;
max-lease-time 720000;
next-server 10.0.0.1;
}
.. ifconfig:: CONFIG_part_variant in ('AM62PX')

.. ifconfig:: CONFIG_part_variant in ('AM62X')
Build tiboot3.bin using ``am62px_evm_r5_ethboot_defconfig``. Build tispl.bin and u-boot.img using ``am62px_evm_a53_ethboot_defconfig``. For instructions to build the bootloader images please refer to :ref:`Build-U-Boot-label`.

.. important::

- Ethernet RGMII boot is supported over RGMII on AM62px SoC.
- CPSW PHYs should be strapped as per ROM's expectation described in part's TRM.
- When the link info Bootmode pin is enabled, this means no auto-negotiation or reading of the Ethernet PHY is needed since the ROM will assume the link is up at 1Gbps, full duplex mode.
- Disable link info Bootmode pin so that ROM can identify the PHY and establishes link with the supported speed and duplex mode.

.. ifconfig:: CONFIG_part_variant in ('J721S2')

Build tiboot3.bin using ``am68_evm_r5_ethboot_defconfig``. Build tispl.bin and u-boot.img using ``am68_evm_a72_ethboot_defconfig``. For instructions to build the bootloader images please refer to :ref:`Build-U-Boot-label`.

.. important::

- Ethernet RGMII boot is supported over RGMII on J721S2 SoC.

.. ifconfig:: CONFIG_part_variant in ('AM64X','AM62X','J722S','AM62PX','J721S2')

If using ISC dhcpd an example host entry would look like this:

.. code-block:: text
.. parsed-literal::
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, this can kind of work, but there are issues.

  1. Ifconfig is essentially a mask. This section will still be parsed on other platforms and will result in a replacement error if they do not have the replacement definition. Right now you've defined the variable for all machines that include this file, so it's fine. You can remove that ifconfig mask as it's not doing anything.

  2. Parsed literals will not be escaped. Any valid RST will be parsed. This example is fine right now. Any additions will have to take this into account.

This is why I was pushing more towards defining a table and user template here. I'll let others weigh in.


subnet 10.0.0.0 netmask 255.0.0.0
{
range dynamic-bootp 10.0.0.2 10.0.0.16;
if substring (option vendor-class-identifier, 0, 16) = "TI K3 Bootp Boot"
{
filename "tiboot3.bin";
} elsif substring (option vendor-class-identifier, 0, 20) = "AM62X U-Boot R5 SPL"
} elsif substring (option vendor-class-identifier, 0, |__SPL_VCI_STRING_LEN__|) = "|__SPL_VCI_STRING__|"
{
filename "tispl.bin";
} elsif substring (option vendor-class-identifier, 0, 21) = "AM62X U-Boot A53 SPL"
} elsif substring (option vendor-class-identifier, 0, |__UBOOT_VCI_STRING_LEN__|) = "|__UBOOT_VCI_STRING__|"
{
filename "u-boot.img";
}
Expand Down