---
title: "TC10 – Sleep/Wake-up Demo – 100BASE-T1 – PHY Control NXP"
description: "## Requirements For this Demo it is recommended to use a FC602/FC612 Stick with **NXP** **TJA1101B**. The **NXP TJA1101A** is expected to perform well in most cases, although it is not full TC10 compliant. To determine which TJA1101 is installed…"
url: "https://docs.fibrecode.com/docs/tc10-100base-t1-sleep-wakeup-using-phy-control-nxp/"
updated: "2025-11-24"
category: "100BASE-T1"
tags:
  - FC401
  - FC602
  - FC612
---

# TC10 – Sleep/Wake-up Demo – 100BASE-T1 – PHY Control NXP

## Requirements

For this Demo it is recommended to use a FC602/FC612 Stick with **NXP** **TJA1101B**.

The **NXP TJA1101A** is expected to perform well in most cases, although it is not full TC10 compliant.

To determine which TJA1101 is installed on your FC602/FC612, you can verify the PHY-Type using PHY Control NXP.

![](https://docs.fibrecode.com/wp-content/uploads/2024/05/image.png)

### Download

Download the latest PHY Control NXP application here: ![](https://docs.fibrecode.com/wp-content/uploads/2022/04/download-link_symbol.png) [**FibreCode HiDrive Downloads**](https://my.hidrive.com/share/mu2q4cjx7h#$/Products/BroadwayV2/Software/V2.3.5-377/Add-Ons)

Upon power-up, the NXP TJA110x is not configured for the TC10 standard. Use the Python GUI described here to set the TJA110x to standard TC10 mode.

## Sleep/Wake-up Demo

In this brief demonstration, we show the Sleep/Wake-up functionality. We will run two cycles to illustrate the control of both master and slave devices:

1. **Master → SLEEP/**WAKE-UP** → Slave**
2. **Slave****→ SLEEP/****WAKE-UP****→**Master

### Hardware Setup

In this example, we utilize two FC602 USB 100BASE-T1 Sticks on the same host. Ensure that one operates in master mode and the other in slave mode, ensuring the link is active

![](https://docs.fibrecode.com/wp-content/uploads/2024/06/TC10-Demo-setup_2xFC602-edited.png)

### Enable TC10 functionality

Start two instances of PHY control NXP and select connected Sticks. Verify master/slave- and link status.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/01_phycontrol_linkup-1024x616.png)

**Config Enable** must be active to control register write access. Enable on both devices.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/02_phycontrol_configenable-1024x616.png)

Verify, if autonomous or host-controlled behavior is needed. **AutoOp** checkbox can be activated to bring NXP TJA110x in right mode.
Note: This will change behavior of TC10 state-machine. More details can be found in TJA110x datasheet.

In this demo, we are using **AutoOp** exclusively on the device we are waking up. (More information will be provided in later steps)

Now go to **Sleep/Wake-up Tab** and enable **Config TC-10** on both devices.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/03_phycontrol_configTC10-1024x616.png)

After enabling the TC10 checkbox, the NXP TJA110x will now operate in accordance with the Open Alliance TC10 specifications for 100BASE-T1 Sleep/Wake-up functionality.

### Controlling SLEEP/WAKE-UP on the Master Device

On slave device:

Enable **AutoOp** to bring it automatically in right state after wake-up.

![](https://docs.fibrecode.com/wp-content/uploads/2024/06/04_phycontrol_slave-enableAutoOp-1024x616.png)

On master device:

1. Send **SLEEP-REQUEST**. Both devices go to sleep mode and link is disabled.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/05_phycontrol_master-sleeprequest-1024x616.png)

2. Set PHY in **STANDBY** mode.

3. Set PHY in **NORMAL** mode.

4. Send **TRIGGER_WAKE** to wake slave device.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/06_phycontrol_master-triggerwake-1024x616.png)

5. Enable **Link Control** on both devices to restore the link. (On the slave device, the link will be automatically enabled because AutoOp is active)

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/07_phycontrol_master-linkenable-1024x616.png)

### Controlling SLEEP/WAKE-UP on the Slave Device

You can repeat the same steps for the slave device.

On master device:

Enable **AutoOp** to bring it automatically in right state after wake-up.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/08_phycontrol_master-enableAutoOp-1024x616.png)

On slave device:

1. Send **SLEEP-REQUEST**. Both devices go to sleep mode and link is disabled.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/09_phycontrol_slave-sleeprequest-1024x616.png)

2. Set PHY in **STANDBY** mode.

3. Set PHY in **NORMAL** mode.

4. Send **TRIGGER_WAKE** to wake slave device.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/10_phycontrol_slave-triggerwake-1024x616.png)

5. Enable **Link Control** on both devices to restore the link. (On the master device, the link will be automatically enabled because AutoOp is active.)

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/11_phycontrol_slave-linkenable-1024x616.png)

### SLEEP/WAKE-UP without AutoOP

Leave **AutoOp** disabled on both devices.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/12_phycontrol_autoop-disabled-1024x616.png)

On master (or slave) device:

1. Send **SLEEP-REQUEST**. Both devices go to sleep mode and link is disabled.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/13_phycontrol_autoop-disabled-sleeprequest-1024x616.png)

2. Set PHY in **STANDBY** mode.

3. Set PHY in **NORMAL** mode.

4. Send **TRIGGER_WAKE** to wake slave device.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/14_phycontrol_autoop-disabled-triggerwake-1024x616.png)

5. Since AutoOp is disabled, the PHY on the slave device must be manually set to **NORMAL** mode.

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/15_phycontrol_autoop-disabled-normalmode-1024x616.png)

6. Enable **Link Control** on master device.

7. Enable**Link Control** on the slave device. (The link will not be enabled automatically since AutoOp is disabled)

![](https://docs.fibrecode.com/wp-content/uploads/2022/09/16_phycontrol_autoop-disabled-linkenable-1024x616.png)
