# Bring up

Source: [https://docs.qualcomm.com/doc/80-70014-26/topic/bring_up.html](https://docs.qualcomm.com/doc/80-70014-26/topic/bring_up.html)

### About this task

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export bringup-workflow.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" width="7.60152in" height="1.10243in" viewbox="0 0 547.31 79.375" xml:space="preserve" color-interpolation-filters="sRGB" class="st7"><style>.svg-1 .st1 { fill: #ffffff; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st2 { fill: #3253dc; stroke: #3253dc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st3 { fill: #ffffff; font-family: Arial; font-size: 1.00001em }
.svg-1 .st4 { font-size: 1em }
.svg-1 .st5 { marker-end: url("#mrkr4-16"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st6 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.22935779816514 }
.svg-1 .st7 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend4">		<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"></path>	</g>	<marker id="mrkr4-16" class="st6" refx="-8.72" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-4.36,-4.36) "></use>	</marker></defs><g>	<title>Page-1</title>	<g id="shape1001-1" transform="translate(1.71661E-05,0.333505)">		<title>Sheet.1001</title>		<rect x="0" y="-1.95852" width="548.719" height="81.3335" class="st1"></rect>	</g>	<g id="shape3-3" transform="translate(18.375,-18.4375)">		<title>Sheet.3</title>		<desc>Ensure QPS615 MAC driver is enabled</desc>		<rect x="0" y="37.5" width="125.149" height="41.875" rx="9" ry="9" class="st2"></rect>		<text x="4.21" y="54.84" class="st3">Ensure QPS615 MAC <tspan x="18.55" dy="1.2em" class="st4">driver is enabled</tspan></text>		</g>	<g id="shape4-7" transform="translate(179.708,-18.4375)">		<title>Sheet.4</title>		<desc>Assign MAC address</desc>		<rect x="0" y="37.5" width="92.25" height="41.875" rx="9" ry="9" class="st2"></rect>		<text x="13.12" y="54.84" class="st3">Assign MAC <tspan x="24.78" dy="1.2em" class="st4">address</tspan></text>		</g>	<g id="shape6-11" transform="translate(143.524,-39.7292)">		<title>Sheet.6</title>		<path d="M0 79.37 L29.46 79.37" class="st5"></path>	</g>	<g id="shape7-17" transform="translate(271.958,-39.5625)">		<title>Sheet.7</title>		<path d="M0 79.37 L29.46 79.37" class="st5"></path>	</g>	<g id="shape20-22" transform="translate(436.685,-19.125)">		<title>Sheet.20</title>		<desc>Configure MTU size</desc>		<rect x="0" y="37.5" width="92.25" height="41.875" rx="9" ry="9" class="st2"></rect>		<text x="5.45" y="54.84" class="st3">Configure MTU <tspan x="35.45" dy="1.2em" class="st4">size</tspan></text>		</g>	<g id="shape21-26" transform="translate(400.5,-40.4167)">		<title>Sheet.21</title>		<path d="M0 79.37 L29.46 79.37" class="st5"></path>	</g>	<g id="shape1000-31" transform="translate(308.143,-18.375)">		<title>Sheet.1000</title>		<desc>Assign IP address</desc>		<rect x="0" y="37.5" width="92.25" height="41.875" rx="9" ry="9" class="st2"></rect>		<text x="20.78" y="54.84" class="st3">Assign IP <tspan x="24.78" dy="1.2em" class="st4">address</tspan></text>		</g></g>
</svg>

Before you bring up Ethernet functionality, ensure that the QPS615 MAC driver is
                enabled. Compile the TC956X\_PCIE\_ETH time macro available at
                    drivers/net/ethernet/toshiba/Kconfig to enable kernel
                configuration. This configuration is enabled by default in the base build.

You can run the following command to verify whether kernel configuration is
                enabled:

    zcat /proc/config.gz | grep TC956X_PCIE_ETHCopy to clipboard

To bring up hardware configurations other than the configuration provided by
                Qualcomm, see [Bring up alternate hardware enablement](https://docs.qualcomm.com/doc/80-70014-26/topic/bring_up.html#attach_other_ethernet_phy_components).

To bring up Ethernet functionality, do the following:

### Procedure

1. Assign a MAC address by running the following command:
                
ifconfig <Interface_name> hw ether <MAC Address>Copy to clipboard

Sample command output is as follows:

        ifconfig enP15sof0 hw ether EC:21:E5:10:4F:EA
        
        ifconfig
        enP1p5s0f0 Link encap:Ethernet  HWaddr EC:21:E5:10:4F:EA
                  inet addr:169.254.227.235  Bcast:169.254.255.255  Mask:255.255.0.0
                  inet6 addr: fe80::533c:8ed6:557:3860/64 Scope:Link
                  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                  RX packets:19 errors:0 dropped:0 overruns:0 frame:0
                  TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
                  collisions:0 txqueuelen:1000
                  RX bytes:3416 (3.3 KiB)  TX bytes:5559 (5.4 KiB)
                  Interrupt:249
        Copy to clipboard

Note: This MAC address is valid only for the current boot
                        cycle. On rebooting the device, the MAC address is updated with the address
                        from persistent storage as described in [Verify preconfigured MAC address](https://docs.qualcomm.com/doc/80-70014-26/topic/get_started.html#configure_and_store_mac_address).
2. When the device is connected to a public network, the DHCP server connected to
                    the network assigns the IP address automatically. No specific configuration is
                    required.
                
Alternatively, you can assign a static IP address by running the following
                        command:

        ifconfig <Interface_name> <ip address>Copy to clipboard

Sample command output is as follows:

        ifconfig enP1p5s0f0 169.254.227.235
        
        ifconfig
        enP1p5s0f0 Link encap:Ethernet  HWaddr F2:D0:DB:1B:C4:A7
                  inet addr:169.254.227.235  Bcast:169.254.255.255  Mask:255.255.0.0
                  inet6 addr: fe80::533c:8ed6:557:3860/64 Scope:Link
                  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                  RX packets:19 errors:0 dropped:0 overruns:0 frame:0
                  TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
                  collisions:0 txqueuelen:1000
                  RX bytes:3416 (3.3 KiB)  TX bytes:5559 (5.4 KiB)
                  Interrupt:249
        Copy to clipboard

Note: This IP address is valid only for the current boot
                        cycle. On rebooting the device, the IP address is not retained.
3. Configure the MTU size for the data packets over the Ethernet interface by
                    running the following command:
                
ifconfig <Interface_name> mtu <mtu_size> upCopy to clipboard

Sample command output is as follows:

        ifconfig enP1p5s0f0 mtu 1500 up
        
        ifconfig
        enP1p5s0f0 Link encap:Ethernet  HWaddr F2:D0:DB:1B:C4:A7
                  inet addr:169.254.227.235  Bcast:169.254.255.255  Mask:255.255.0.0
                  inet6 addr: fe80::533c:8ed6:557:3860/64 Scope:Link
                  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                  RX packets:19 errors:0 dropped:0 overruns:0 frame:0
                  TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
                  collisions:0 txqueuelen:1000
                  RX bytes:3416 (3.3 KiB)  TX bytes:5559 (5.4 KiB)
                  Interrupt:249
        Copy to clipboard

## Bring up alternate hardware enablement

Source: [https://docs.qualcomm.com/doc/80-70014-26/topic/bring_up.html](https://docs.qualcomm.com/doc/80-70014-26/topic/bring_up.html)

You can attach MAC/PHY components other than the hardware configuration provided by
        Qualcomm and bring them up.

Note: You must obtain the MAC/PHY driver and firmware from the
            respective vendor. Qualcomm is not responsible for these configuration changes.

To replace QPS615 with other PCIe based MAC/PHY, see [PCIe software support for QPS615 switch](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-8/pcie.html#sub$pcie-software-support-feature-for-qps615).

### Keep QPS615 PCIe and replace QEP8121/AQR113C

You can keep QPS615 PCIe and replace QEP8121/AQR113C with other PHY components. Based
                on the attached PHY recommendations, update all the parameters in the
                    arch/arm64/boot/dts/qcom/qcs6490-addons-rb3gen2.dtsi file
                and compile the software.

Sample for QEP PHY is as follows:

    qep_vreg: qep_vreg {	compatible = "regulator-fixed";	regulator-name = "qep_vreg";	gpio = <&pm7325_gpios 8 0>;	regulator-min-microvolt = <1800000>;	regulator-max-microvolt = <1800000>;	enable-active-high;};

    qps615_eth1,qps615_eth1@pcie1_rp {				reg = <0x100 0x0 0x0 0x0 0x0>;				pinctrl-names = "default";				pinctrl-0 = <&napa_intn_wol_sig>;				qcom,phy-rst-gpio = <1>;				interrupts-extended = <&tlmm 101 IRQ_TYPE_EDGE_FALLING>;				interrupt-names = "wol_irq";				phy-supply = <&qep_vreg>;				qcom,phy-rst-delay-us = <20000>;				#address-cells = <1>;				#size-cells = <1>;
    Copy to clipboard

After flashing the modified software, the QPS615 driver scans the physical devices
                connected to it and matches the device tree information in the
                    qcs6490-addons-rb3gen2.dtsi file.

Note: A PHY may fail to load due to mismatch between the
                configuration in the .dtsi file and actual recommendations for
                the PHY. In such cases, you must update the configuration in the
                    .dtsi file accordingly.

### AQR PHY enablement

Though AQR PHY for 10 GbE is optional, it is validated on reference RB3 Gen 2
                platform. The PHY driver must be loaded and installed on every new build, whereas
                the firmware must be flashed to the hardware only once.

For example, Qualcomm tested the following PHY firmware version with AQR:

- Marvell firmware:
                        AQR-G4\_v5.6.1-QR\_Marvell\_NoSwap\_XFI\_ID44874\_VER1836.cld

Each vendor has their own method of flashing the firmware. For Marvell PHY AQR113,
                Marvell-proprietary Flashburn tool is recommended.

To detect the AQR driver, update the AQR PHY parameters in the
                    arch/arm64/boot/dts/qcom/qcs6490-addons-rb3gen2.dtsi file
                and compile the software.

Sample for AQR PHY is as follows:

    aqr_vreg: aqr_vreg {	compatible = "regulator-fixed";	regulator-name = "aqr_vreg";	gpio = <&pm7250b_gpios 4 0>;	regulator-min-microvolt = <1800000>;	regulator-max-microvolt = <1800000>;	enable-active-high;};
    
    qps615_eth0,qps615_eth0@pcie1_rp {				reg = <0x0 0x0 0x0 0x0 0x0>;				pinctrl-names = "default";				pinctrl-0 = <&aqr_intn_wol_sig>;				qcom,phy-rst-gpio = <0>;				interrupts-extended = <&tlmm 141 IRQ_TYPE_EDGE_FALLING>;				interrupt-names = "wol_irq";				phy-supply = <&aqr_vreg>;				qcom,phy-rst-delay-us = <221000>;				#address-cells = <1>;				#size-cells = <1>;			};
    Copy to clipboard

Last Published: Jul 11, 2024

[Previous Topic
Tools](https://docs.qualcomm.com/bundle/publicresource/80-70014-26/topics/tools.md) [Next Topic
Configure](https://docs.qualcomm.com/bundle/publicresource/80-70014-26/topics/configure.md)