tja1103_driver.h File Reference

TJA1103 100Base-T1 Ethernet PHY driver. More...

#include "core/nic.h"

Go to the source code of this file.

Macros

#define TJA1103_PHY_ADDR   0
 
#define TJA1103_PHY_ID_1   0x02
 
#define TJA1103_PHY_ID_2   0x03
 
#define TJA1103_CL45_ACCESS_CONTROL   0x0D
 
#define TJA1103_CL45_ADDRESS_DATA   0x0E
 
#define TJA1103_CL45_ADDRESS   0x1E
 
#define TJA1103_ALWAYS_ACCESSIBLE   0x1F
 
#define TJA1103_BASE_T1_PMA_CONTROL   0x01, 0x0834
 
#define TJA1103_PCS_CONTROL1   0x03, 0x0000
 
#define TJA1103_DEVICE_IDENTIFIER3   0x1E, 0x0004
 
#define TJA1103_DEVICE_CONTROL   0x1E, 0x0040
 
#define TJA1103_DEVICE_CONFIG   0x1E, 0x0048
 
#define TJA1103_PTP_CONFIG   0x1E, 0x1102
 
#define TJA1103_RX_TS_INSRT_CTRL   0x1E, 0x114D
 
#define TJA1103_EGR_RING_DATA_0   0x1E, 0x114E
 
#define TJA1103_EGR_RING_CTRL   0x1E, 0x1154
 
#define TJA1103_GPIO0_FUNC_CONFIG   0x1E, 0x2C40
 
#define TJA1103_PORT_PTP_CONTROL   0x1E, 0x9000
 
#define TJA1103_PORT_INFRA_CONTROL   0x1E, 0xAC00
 
#define TJA1103_XMII_ABILITIES   0x1E, 0xAFC4
 
#define TJA1103_MII_BASIC_CONFIG   0x1E, 0xAFC6
 
#define TJA1103_RGMII_TXC_DELAY_CONFIG   0x1E, 0xAFCC
 
#define TJA1103_RGMII_RXC_DELAY_CONFIG   0x1E, 0xAFCD
 
#define TJA1103_RX_PREAMBLE_COUNT   0x1E, 0xAFCE
 
#define TJA1103_TX_PREAMBLE_COUNT   0x1E, 0xAFCF
 
#define TJA1103_RX_IPG_LENGTH   0x1E, 0xAFD0
 
#define TJA1103_TX_IPG_LENGTH   0x1E, 0xAFD1
 
#define TJA1103_SGMII_BASIC_CONTROL   0x1E, 0xB000
 
#define TJA1103_PORT_CONTROL   0x1E, 0x8040
 
#define TJA1103_PORT_ABILITIES   0x1E, 0x8046
 
#define TJA1103_PORT_FUNC_IRQ_ENABLE   0x1E, 0x807A
 
#define TJA1103_EPHY_FUNC_IRQ_SOURCE   0x1E, 0x80A0
 
#define TJA1103_EPHY_FUNC_IRQ_ENABLE   0x1E, 0x80A1
 
#define TJA1103_EPHY_FUNC_IRQ_MSTATUS   0x1E, 0x80A2
 
#define TJA1103_PHY_CONTROL   0x1E, 0x8100
 
#define TJA1103_PHY_STATUS   0x1E, 0x8102
 
#define TJA1103_PHY_CONFIG   0x1E, 0x8108
 
#define TJA1103_SIGNAL_QUALITY   0x1E, 0x8320
 
#define TJA1103_CABLE_TEST   0x1E, 0x8330
 
#define TJA1103_SYMBOL_ERROR_COUNTER   0x1E, 0x8350
 
#define TJA1103_ERROR_COUNTER_MISC   0x1E, 0x8352
 
#define TJA1103_LINK_LOSSES_AND_FAILURES   0x1E, 0x8353
 
#define TJA1103_PHY_ID_1_OUI_BITS_3_TO_18   0xFFFF
 
#define TJA1103_PHY_ID_1_OUI_BITS_3_TO_18_DEFAULT   0x001B
 
#define TJA1103_PHY_ID_2_OUI_BITS_19_TO_24   0xFC00
 
#define TJA1103_PHY_ID_2_OUI_BITS_19_TO_24_DEFAULT   0xB000
 
#define TJA1103_PHY_ID_2_MODEL   0x03F0
 
#define TJA1103_PHY_ID_2_MODEL_DEFAULT   0x0010
 
#define TJA1103_PHY_ID_2_REVISION   0x000F
 
#define TJA1103_CL45_ACCESS_CONTROL_OP   0xC000
 
#define TJA1103_CL45_ACCESS_CONTROL_OP_ADDR   0x0000
 
#define TJA1103_CL45_ACCESS_CONTROL_OP_DATA_NO_POST_INC   0x4000
 
#define TJA1103_CL45_ACCESS_CONTROL_OP_DATA_POST_INC_RW   0x8000
 
#define TJA1103_CL45_ACCESS_CONTROL_OP_DATA_POST_INC_W   0xC000
 
#define TJA1103_CL45_ACCESS_CONTROL_MMD   0x001F
 
#define TJA1103_CL45_ACCESS_CONTROL_MMD_PMA_PMD   0x0001
 
#define TJA1103_CL45_ACCESS_CONTROL_MMD_PCS   0x0003
 
#define TJA1103_CL45_ACCESS_CONTROL_MMD_VENDOR_SPECIFIC   0x001E
 
#define TJA1103_CL45_ADDRESS_DATA_ADDRESS_DATA   0xFFFF
 
#define TJA1103_CL45_ADDRESS_ADDRESS   0xFFFF
 
#define TJA1103_ALWAYS_ACCESSIBLE_FUSA_PASS_IRQ   0x0010
 
#define TJA1103_BASE_T1_PMA_CONTROL_MANUAL_MASTER_SLAVE_CONFIG   0x8000
 
#define TJA1103_BASE_T1_PMA_CONTROL_MASTER_SLAVE   0x4000
 
#define TJA1103_PCS_CONTROL1_RESET   0x8000
 
#define TJA1103_PCS_CONTROL1_LOOPBACK   0x4000
 
#define TJA1103_PCS_CONTROL1_SPEED_SELECT_LSB   0x2000
 
#define TJA1103_PCS_CONTROL1_LOW_POWER   0x0800
 
#define TJA1103_PCS_CONTROL1_SPEED_SELECT_MSB   0x0040
 
#define TJA1103_DEVICE_IDENTIFIER3_TJA1103A   0x1091
 
#define TJA1103_DEVICE_IDENTIFIER3_TJA1103B   0x2401
 
#define TJA1103_DEVICE_CONTROL_DEVICE_RESET   0x8000
 
#define TJA1103_DEVICE_CONTROL_GLOBAL_CONFIG_ENABLE   0x4000
 
#define TJA1103_DEVICE_CONTROL_SUPER_CONFIG_ENABLE   0x2000
 
#define TJA1103_PTP_CONFIG_PPS_OUT_EN   0x0008
 
#define TJA1103_PTP_CONFIG_PPS_OUT_POL   0x0004
 
#define TJA1103_PTP_CONFIG_EXT_TRG_EDGE_SEL   0x0002
 
#define TJA1103_GPIO0_FUNC_CONFIG_ENABLE   0x8000
 
#define TJA1103_GPIO0_FUNC_CONFIG_SIGNAL_SELECT   0x001F
 
#define TJA1103_GPIO0_FUNC_CONFIG_SIGNAL_SELECT_PTP_TRIGGER   0x0001
 
#define TJA1103_GPIO0_FUNC_CONFIG_SIGNAL_SELECT_PPS_OUT   0x0012
 
#define TJA1103_PORT_PTP_CONTROL_BYPASS   0x0800
 
#define TJA1103_PORT_INFRA_CONTROL_RESET   0x8000
 
#define TJA1103_PORT_INFRA_CONTROL_CONFIG_ENABLE   0x4000
 
#define TJA1103_XMII_ABILITIES_RGMII_ID_ABILITY   0x8000
 
#define TJA1103_XMII_ABILITIES_RGMII_ABILITY   0x4000
 
#define TJA1103_XMII_ABILITIES_RMII_MASTER_ABILITY   0x0800
 
#define TJA1103_XMII_ABILITIES_RMII_SLAVE_ABILITY   0x0400
 
#define TJA1103_XMII_ABILITIES_MII_SLAVE_ABILITY   0x0200
 
#define TJA1103_XMII_ABILITIES_MII_MASTER_ABILITY   0x0100
 
#define TJA1103_XMII_ABILITIES_SGMII_ABILITY   0x0001
 
#define TJA1103_MII_BASIC_CONFIG_ROLE   0x0010
 
#define TJA1103_MII_BASIC_CONFIG_XMII_MODE   0x000F
 
#define TJA1103_MII_BASIC_CONFIG_XMII_MODE_MII   0x0004
 
#define TJA1103_MII_BASIC_CONFIG_XMII_MODE_RMII   0x0005
 
#define TJA1103_MII_BASIC_CONFIG_XMII_MODE_RGMII   0x0007
 
#define TJA1103_MII_BASIC_CONFIG_XMII_MODE_SGMII   0x0008
 
#define TJA1103_RGMII_TXC_DELAY_CONFIG_ENABLE   0x8000
 
#define TJA1103_RGMII_TXC_DELAY_CONFIG_PHASE_SHIFT   0x001F
 
#define TJA1103_RGMII_TXC_DELAY_CONFIG_PHASE_SHIFT_DEFAULT   0x0012
 
#define TJA1103_RGMII_RXC_DELAY_CONFIG_ENABLE   0x8000
 
#define TJA1103_RGMII_RXC_DELAY_CONFIG_PHASE_SHIFT   0x001F
 
#define TJA1103_RGMII_RXC_DELAY_CONFIG_PHASE_SHIFT_DEFAULT   0x0012
 
#define TJA1103_RX_PREAMBLE_COUNT_ENABLE   0x8000
 
#define TJA1103_RX_PREAMBLE_COUNT_COUNT   0x003F
 
#define TJA1103_TX_PREAMBLE_COUNT_ENABLE   0x8000
 
#define TJA1103_TX_PREAMBLE_COUNT_COUNT   0x003F
 
#define TJA1103_RX_IPG_LENGTH_ENABLE   0x8000
 
#define TJA1103_RX_IPG_LENGTH_LENGTH   0x01FF
 
#define TJA1103_TX_IPG_LENGTH_ENABLE   0x8000
 
#define TJA1103_TX_IPG_LENGTH_LENGTH   0x01FF
 
#define TJA1103_SGMII_BASIC_CONTROL_LPM   0x0800
 
#define TJA1103_PORT_CONTROL_CONFIG_ENABLE   0x4000
 
#define TJA1103_PORT_ABILITIES_PTP_ABILITY   0x0008
 
#define TJA1103_PORT_FUNC_IRQ_ENABLE_PTP_IRQ   0x0008
 
#define TJA1103_EPHY_FUNC_IRQ_SOURCE_LINK_AVAILABLE_EVENT   0x0004
 
#define TJA1103_EPHY_FUNC_IRQ_SOURCE_LINK_STATUS_EVENT   0x0002
 
#define TJA1103_EPHY_FUNC_IRQ_ENABLE_LINK_AVAILABLE_EVENT   0x0004
 
#define TJA1103_EPHY_FUNC_IRQ_ENABLE_LINK_STATUS_EVENT   0x0002
 
#define TJA1103_EPHY_FUNC_IRQ_MSTATUS_LINK_AVAILABLE_EVENT   0x0004
 
#define TJA1103_EPHY_FUNC_IRQ_MSTATUS_LINK_STATUS_EVENT   0x0002
 
#define TJA1103_PHY_CONTROL_CONFIG_ENABLE   0x4000
 
#define TJA1103_PHY_CONTROL_START_OPERATION   0x0001
 
#define TJA1103_PHY_STATUS_LINK_STATUS   0x0004
 
#define TJA1103_PHY_CONFIG_AUTO_OPERATION   0x0001
 
#define TJA1103_SIGNAL_QUALITY_VALID   0x4000
 
#define TJA1103_SIGNAL_QUALITY_SQI   0x0007
 
#define TJA1103_CABLE_TEST_ENABLE   0x8000
 
#define TJA1103_CABLE_TEST_START   0x4000
 
#define TJA1103_CABLE_TEST_VALID   0x2000
 
#define TJA1103_CABLE_TEST_FAULT_TYPE   0x0007
 
#define TJA1103_CABLE_TEST_FAULT_TYPE_OK   0x0000
 
#define TJA1103_CABLE_TEST_FAULT_TYPE_SHORTED   0x0001
 
#define TJA1103_CABLE_TEST_FAULT_TYPE_OPEN   0x0002
 
#define TJA1103_CABLE_TEST_FAULT_TYPE_UNKNOWN   0x0007
 
#define TJA1103_SYMBOL_ERROR_COUNTER_SYMBOL_ERRORS   0xFFFF
 
#define TJA1103_ERROR_COUNTER_MISC_COUNTER_ENABLE   0x8000
 
#define TJA1103_ERROR_COUNTER_MISC_LINK_STATUS_DROPS   0x3F00
 
#define TJA1103_ERROR_COUNTER_MISC_LINK_AVAILABLE_DROPS   0x003F
 
#define TJA1103_LINK_LOSSES_AND_FAILURES_LINK_LOSSES   0xFC00
 
#define TJA1103_LINK_LOSSES_AND_FAILURES_LINK_FAILURES   0x03FF
 

Functions

error_t tja1103Init (NetInterface *interface)
 TJA1103 PHY transceiver initialization. More...
 
void tja1103InitHook (NetInterface *interface)
 TJA1103 custom configuration. More...
 
void tja1103Tick (NetInterface *interface)
 TJA1103 timer handler. More...
 
void tja1103EnableIrq (NetInterface *interface)
 Enable interrupts. More...
 
void tja1103DisableIrq (NetInterface *interface)
 Disable interrupts. More...
 
void tja1103EventHandler (NetInterface *interface)
 TJA1103 event handler. More...
 
void tja1103WritePhyReg (NetInterface *interface, uint8_t address, uint16_t data)
 Write PHY register. More...
 
uint16_t tja1103ReadPhyReg (NetInterface *interface, uint8_t address)
 Read PHY register. More...
 
void tja1103DumpPhyReg (NetInterface *interface)
 Dump PHY registers for debugging purpose. More...
 
void tja1103WriteMmdReg (NetInterface *interface, uint8_t devAddr, uint16_t regAddr, uint16_t data)
 Write MMD register. More...
 
uint16_t tja1103ReadMmdReg (NetInterface *interface, uint8_t devAddr, uint16_t regAddr)
 Read MMD register. More...
 

Variables

const PhyDriver tja1103PhyDriver
 TJA1103 Ethernet PHY driver. More...
 

Detailed Description

TJA1103 100Base-T1 Ethernet PHY driver.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2026 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.6.0

Definition in file tja1103_driver.h.

Macro Definition Documentation

◆ TJA1103_ALWAYS_ACCESSIBLE

#define TJA1103_ALWAYS_ACCESSIBLE   0x1F

Definition at line 50 of file tja1103_driver.h.

◆ TJA1103_ALWAYS_ACCESSIBLE_FUSA_PASS_IRQ

#define TJA1103_ALWAYS_ACCESSIBLE_FUSA_PASS_IRQ   0x0010

Definition at line 120 of file tja1103_driver.h.

◆ TJA1103_BASE_T1_PMA_CONTROL

#define TJA1103_BASE_T1_PMA_CONTROL   0x01, 0x0834

Definition at line 53 of file tja1103_driver.h.

◆ TJA1103_BASE_T1_PMA_CONTROL_MANUAL_MASTER_SLAVE_CONFIG

#define TJA1103_BASE_T1_PMA_CONTROL_MANUAL_MASTER_SLAVE_CONFIG   0x8000

Definition at line 123 of file tja1103_driver.h.

◆ TJA1103_BASE_T1_PMA_CONTROL_MASTER_SLAVE

#define TJA1103_BASE_T1_PMA_CONTROL_MASTER_SLAVE   0x4000

Definition at line 124 of file tja1103_driver.h.

◆ TJA1103_CABLE_TEST

#define TJA1103_CABLE_TEST   0x1E, 0x8330

Definition at line 86 of file tja1103_driver.h.

◆ TJA1103_CABLE_TEST_ENABLE

#define TJA1103_CABLE_TEST_ENABLE   0x8000

Definition at line 242 of file tja1103_driver.h.

◆ TJA1103_CABLE_TEST_FAULT_TYPE

#define TJA1103_CABLE_TEST_FAULT_TYPE   0x0007

Definition at line 245 of file tja1103_driver.h.

◆ TJA1103_CABLE_TEST_FAULT_TYPE_OK

#define TJA1103_CABLE_TEST_FAULT_TYPE_OK   0x0000

Definition at line 246 of file tja1103_driver.h.

◆ TJA1103_CABLE_TEST_FAULT_TYPE_OPEN

#define TJA1103_CABLE_TEST_FAULT_TYPE_OPEN   0x0002

Definition at line 248 of file tja1103_driver.h.

◆ TJA1103_CABLE_TEST_FAULT_TYPE_SHORTED

#define TJA1103_CABLE_TEST_FAULT_TYPE_SHORTED   0x0001

Definition at line 247 of file tja1103_driver.h.

◆ TJA1103_CABLE_TEST_FAULT_TYPE_UNKNOWN

#define TJA1103_CABLE_TEST_FAULT_TYPE_UNKNOWN   0x0007

Definition at line 249 of file tja1103_driver.h.

◆ TJA1103_CABLE_TEST_START

#define TJA1103_CABLE_TEST_START   0x4000

Definition at line 243 of file tja1103_driver.h.

◆ TJA1103_CABLE_TEST_VALID

#define TJA1103_CABLE_TEST_VALID   0x2000

Definition at line 244 of file tja1103_driver.h.

◆ TJA1103_CL45_ACCESS_CONTROL

#define TJA1103_CL45_ACCESS_CONTROL   0x0D

Definition at line 47 of file tja1103_driver.h.

◆ TJA1103_CL45_ACCESS_CONTROL_MMD

#define TJA1103_CL45_ACCESS_CONTROL_MMD   0x001F

Definition at line 108 of file tja1103_driver.h.

◆ TJA1103_CL45_ACCESS_CONTROL_MMD_PCS

#define TJA1103_CL45_ACCESS_CONTROL_MMD_PCS   0x0003

Definition at line 110 of file tja1103_driver.h.

◆ TJA1103_CL45_ACCESS_CONTROL_MMD_PMA_PMD

#define TJA1103_CL45_ACCESS_CONTROL_MMD_PMA_PMD   0x0001

Definition at line 109 of file tja1103_driver.h.

◆ TJA1103_CL45_ACCESS_CONTROL_MMD_VENDOR_SPECIFIC

#define TJA1103_CL45_ACCESS_CONTROL_MMD_VENDOR_SPECIFIC   0x001E

Definition at line 111 of file tja1103_driver.h.

◆ TJA1103_CL45_ACCESS_CONTROL_OP

#define TJA1103_CL45_ACCESS_CONTROL_OP   0xC000

Definition at line 103 of file tja1103_driver.h.

◆ TJA1103_CL45_ACCESS_CONTROL_OP_ADDR

#define TJA1103_CL45_ACCESS_CONTROL_OP_ADDR   0x0000

Definition at line 104 of file tja1103_driver.h.

◆ TJA1103_CL45_ACCESS_CONTROL_OP_DATA_NO_POST_INC

#define TJA1103_CL45_ACCESS_CONTROL_OP_DATA_NO_POST_INC   0x4000

Definition at line 105 of file tja1103_driver.h.

◆ TJA1103_CL45_ACCESS_CONTROL_OP_DATA_POST_INC_RW

#define TJA1103_CL45_ACCESS_CONTROL_OP_DATA_POST_INC_RW   0x8000

Definition at line 106 of file tja1103_driver.h.

◆ TJA1103_CL45_ACCESS_CONTROL_OP_DATA_POST_INC_W

#define TJA1103_CL45_ACCESS_CONTROL_OP_DATA_POST_INC_W   0xC000

Definition at line 107 of file tja1103_driver.h.

◆ TJA1103_CL45_ADDRESS

#define TJA1103_CL45_ADDRESS   0x1E

Definition at line 49 of file tja1103_driver.h.

◆ TJA1103_CL45_ADDRESS_ADDRESS

#define TJA1103_CL45_ADDRESS_ADDRESS   0xFFFF

Definition at line 117 of file tja1103_driver.h.

◆ TJA1103_CL45_ADDRESS_DATA

#define TJA1103_CL45_ADDRESS_DATA   0x0E

Definition at line 48 of file tja1103_driver.h.

◆ TJA1103_CL45_ADDRESS_DATA_ADDRESS_DATA

#define TJA1103_CL45_ADDRESS_DATA_ADDRESS_DATA   0xFFFF

Definition at line 114 of file tja1103_driver.h.

◆ TJA1103_DEVICE_CONFIG

#define TJA1103_DEVICE_CONFIG   0x1E, 0x0048

Definition at line 57 of file tja1103_driver.h.

◆ TJA1103_DEVICE_CONTROL

#define TJA1103_DEVICE_CONTROL   0x1E, 0x0040

Definition at line 56 of file tja1103_driver.h.

◆ TJA1103_DEVICE_CONTROL_DEVICE_RESET

#define TJA1103_DEVICE_CONTROL_DEVICE_RESET   0x8000

Definition at line 138 of file tja1103_driver.h.

◆ TJA1103_DEVICE_CONTROL_GLOBAL_CONFIG_ENABLE

#define TJA1103_DEVICE_CONTROL_GLOBAL_CONFIG_ENABLE   0x4000

Definition at line 139 of file tja1103_driver.h.

◆ TJA1103_DEVICE_CONTROL_SUPER_CONFIG_ENABLE

#define TJA1103_DEVICE_CONTROL_SUPER_CONFIG_ENABLE   0x2000

Definition at line 140 of file tja1103_driver.h.

◆ TJA1103_DEVICE_IDENTIFIER3

#define TJA1103_DEVICE_IDENTIFIER3   0x1E, 0x0004

Definition at line 55 of file tja1103_driver.h.

◆ TJA1103_DEVICE_IDENTIFIER3_TJA1103A

#define TJA1103_DEVICE_IDENTIFIER3_TJA1103A   0x1091

Definition at line 134 of file tja1103_driver.h.

◆ TJA1103_DEVICE_IDENTIFIER3_TJA1103B

#define TJA1103_DEVICE_IDENTIFIER3_TJA1103B   0x2401

Definition at line 135 of file tja1103_driver.h.

◆ TJA1103_EGR_RING_CTRL

#define TJA1103_EGR_RING_CTRL   0x1E, 0x1154

Definition at line 61 of file tja1103_driver.h.

◆ TJA1103_EGR_RING_DATA_0

#define TJA1103_EGR_RING_DATA_0   0x1E, 0x114E

Definition at line 60 of file tja1103_driver.h.

◆ TJA1103_EPHY_FUNC_IRQ_ENABLE

#define TJA1103_EPHY_FUNC_IRQ_ENABLE   0x1E, 0x80A1

Definition at line 80 of file tja1103_driver.h.

◆ TJA1103_EPHY_FUNC_IRQ_ENABLE_LINK_AVAILABLE_EVENT

#define TJA1103_EPHY_FUNC_IRQ_ENABLE_LINK_AVAILABLE_EVENT   0x0004

Definition at line 220 of file tja1103_driver.h.

◆ TJA1103_EPHY_FUNC_IRQ_ENABLE_LINK_STATUS_EVENT

#define TJA1103_EPHY_FUNC_IRQ_ENABLE_LINK_STATUS_EVENT   0x0002

Definition at line 221 of file tja1103_driver.h.

◆ TJA1103_EPHY_FUNC_IRQ_MSTATUS

#define TJA1103_EPHY_FUNC_IRQ_MSTATUS   0x1E, 0x80A2

Definition at line 81 of file tja1103_driver.h.

◆ TJA1103_EPHY_FUNC_IRQ_MSTATUS_LINK_AVAILABLE_EVENT

#define TJA1103_EPHY_FUNC_IRQ_MSTATUS_LINK_AVAILABLE_EVENT   0x0004

Definition at line 224 of file tja1103_driver.h.

◆ TJA1103_EPHY_FUNC_IRQ_MSTATUS_LINK_STATUS_EVENT

#define TJA1103_EPHY_FUNC_IRQ_MSTATUS_LINK_STATUS_EVENT   0x0002

Definition at line 225 of file tja1103_driver.h.

◆ TJA1103_EPHY_FUNC_IRQ_SOURCE

#define TJA1103_EPHY_FUNC_IRQ_SOURCE   0x1E, 0x80A0

Definition at line 79 of file tja1103_driver.h.

◆ TJA1103_EPHY_FUNC_IRQ_SOURCE_LINK_AVAILABLE_EVENT

#define TJA1103_EPHY_FUNC_IRQ_SOURCE_LINK_AVAILABLE_EVENT   0x0004

Definition at line 216 of file tja1103_driver.h.

◆ TJA1103_EPHY_FUNC_IRQ_SOURCE_LINK_STATUS_EVENT

#define TJA1103_EPHY_FUNC_IRQ_SOURCE_LINK_STATUS_EVENT   0x0002

Definition at line 217 of file tja1103_driver.h.

◆ TJA1103_ERROR_COUNTER_MISC

#define TJA1103_ERROR_COUNTER_MISC   0x1E, 0x8352

Definition at line 88 of file tja1103_driver.h.

◆ TJA1103_ERROR_COUNTER_MISC_COUNTER_ENABLE

#define TJA1103_ERROR_COUNTER_MISC_COUNTER_ENABLE   0x8000

Definition at line 255 of file tja1103_driver.h.

◆ TJA1103_ERROR_COUNTER_MISC_LINK_AVAILABLE_DROPS

#define TJA1103_ERROR_COUNTER_MISC_LINK_AVAILABLE_DROPS   0x003F

Definition at line 257 of file tja1103_driver.h.

◆ TJA1103_ERROR_COUNTER_MISC_LINK_STATUS_DROPS

#define TJA1103_ERROR_COUNTER_MISC_LINK_STATUS_DROPS   0x3F00

Definition at line 256 of file tja1103_driver.h.

◆ TJA1103_GPIO0_FUNC_CONFIG

#define TJA1103_GPIO0_FUNC_CONFIG   0x1E, 0x2C40

Definition at line 62 of file tja1103_driver.h.

◆ TJA1103_GPIO0_FUNC_CONFIG_ENABLE

#define TJA1103_GPIO0_FUNC_CONFIG_ENABLE   0x8000

Definition at line 148 of file tja1103_driver.h.

◆ TJA1103_GPIO0_FUNC_CONFIG_SIGNAL_SELECT

#define TJA1103_GPIO0_FUNC_CONFIG_SIGNAL_SELECT   0x001F

Definition at line 149 of file tja1103_driver.h.

◆ TJA1103_GPIO0_FUNC_CONFIG_SIGNAL_SELECT_PPS_OUT

#define TJA1103_GPIO0_FUNC_CONFIG_SIGNAL_SELECT_PPS_OUT   0x0012

Definition at line 151 of file tja1103_driver.h.

◆ TJA1103_GPIO0_FUNC_CONFIG_SIGNAL_SELECT_PTP_TRIGGER

#define TJA1103_GPIO0_FUNC_CONFIG_SIGNAL_SELECT_PTP_TRIGGER   0x0001

Definition at line 150 of file tja1103_driver.h.

◆ TJA1103_LINK_LOSSES_AND_FAILURES

#define TJA1103_LINK_LOSSES_AND_FAILURES   0x1E, 0x8353

Definition at line 89 of file tja1103_driver.h.

◆ TJA1103_LINK_LOSSES_AND_FAILURES_LINK_FAILURES

#define TJA1103_LINK_LOSSES_AND_FAILURES_LINK_FAILURES   0x03FF

Definition at line 261 of file tja1103_driver.h.

◆ TJA1103_LINK_LOSSES_AND_FAILURES_LINK_LOSSES

#define TJA1103_LINK_LOSSES_AND_FAILURES_LINK_LOSSES   0xFC00

Definition at line 260 of file tja1103_driver.h.

◆ TJA1103_MII_BASIC_CONFIG

#define TJA1103_MII_BASIC_CONFIG   0x1E, 0xAFC6

Definition at line 66 of file tja1103_driver.h.

◆ TJA1103_MII_BASIC_CONFIG_ROLE

#define TJA1103_MII_BASIC_CONFIG_ROLE   0x0010

Definition at line 170 of file tja1103_driver.h.

◆ TJA1103_MII_BASIC_CONFIG_XMII_MODE

#define TJA1103_MII_BASIC_CONFIG_XMII_MODE   0x000F

Definition at line 171 of file tja1103_driver.h.

◆ TJA1103_MII_BASIC_CONFIG_XMII_MODE_MII

#define TJA1103_MII_BASIC_CONFIG_XMII_MODE_MII   0x0004

Definition at line 172 of file tja1103_driver.h.

◆ TJA1103_MII_BASIC_CONFIG_XMII_MODE_RGMII

#define TJA1103_MII_BASIC_CONFIG_XMII_MODE_RGMII   0x0007

Definition at line 174 of file tja1103_driver.h.

◆ TJA1103_MII_BASIC_CONFIG_XMII_MODE_RMII

#define TJA1103_MII_BASIC_CONFIG_XMII_MODE_RMII   0x0005

Definition at line 173 of file tja1103_driver.h.

◆ TJA1103_MII_BASIC_CONFIG_XMII_MODE_SGMII

#define TJA1103_MII_BASIC_CONFIG_XMII_MODE_SGMII   0x0008

Definition at line 175 of file tja1103_driver.h.

◆ TJA1103_PCS_CONTROL1

#define TJA1103_PCS_CONTROL1   0x03, 0x0000

Definition at line 54 of file tja1103_driver.h.

◆ TJA1103_PCS_CONTROL1_LOOPBACK

#define TJA1103_PCS_CONTROL1_LOOPBACK   0x4000

Definition at line 128 of file tja1103_driver.h.

◆ TJA1103_PCS_CONTROL1_LOW_POWER

#define TJA1103_PCS_CONTROL1_LOW_POWER   0x0800

Definition at line 130 of file tja1103_driver.h.

◆ TJA1103_PCS_CONTROL1_RESET

#define TJA1103_PCS_CONTROL1_RESET   0x8000

Definition at line 127 of file tja1103_driver.h.

◆ TJA1103_PCS_CONTROL1_SPEED_SELECT_LSB

#define TJA1103_PCS_CONTROL1_SPEED_SELECT_LSB   0x2000

Definition at line 129 of file tja1103_driver.h.

◆ TJA1103_PCS_CONTROL1_SPEED_SELECT_MSB

#define TJA1103_PCS_CONTROL1_SPEED_SELECT_MSB   0x0040

Definition at line 131 of file tja1103_driver.h.

◆ TJA1103_PHY_ADDR

#define TJA1103_PHY_ADDR   0

Definition at line 39 of file tja1103_driver.h.

◆ TJA1103_PHY_CONFIG

#define TJA1103_PHY_CONFIG   0x1E, 0x8108

Definition at line 84 of file tja1103_driver.h.

◆ TJA1103_PHY_CONFIG_AUTO_OPERATION

#define TJA1103_PHY_CONFIG_AUTO_OPERATION   0x0001

Definition at line 235 of file tja1103_driver.h.

◆ TJA1103_PHY_CONTROL

#define TJA1103_PHY_CONTROL   0x1E, 0x8100

Definition at line 82 of file tja1103_driver.h.

◆ TJA1103_PHY_CONTROL_CONFIG_ENABLE

#define TJA1103_PHY_CONTROL_CONFIG_ENABLE   0x4000

Definition at line 228 of file tja1103_driver.h.

◆ TJA1103_PHY_CONTROL_START_OPERATION

#define TJA1103_PHY_CONTROL_START_OPERATION   0x0001

Definition at line 229 of file tja1103_driver.h.

◆ TJA1103_PHY_ID_1

#define TJA1103_PHY_ID_1   0x02

Definition at line 45 of file tja1103_driver.h.

◆ TJA1103_PHY_ID_1_OUI_BITS_3_TO_18

#define TJA1103_PHY_ID_1_OUI_BITS_3_TO_18   0xFFFF

Definition at line 92 of file tja1103_driver.h.

◆ TJA1103_PHY_ID_1_OUI_BITS_3_TO_18_DEFAULT

#define TJA1103_PHY_ID_1_OUI_BITS_3_TO_18_DEFAULT   0x001B

Definition at line 93 of file tja1103_driver.h.

◆ TJA1103_PHY_ID_2

#define TJA1103_PHY_ID_2   0x03

Definition at line 46 of file tja1103_driver.h.

◆ TJA1103_PHY_ID_2_MODEL

#define TJA1103_PHY_ID_2_MODEL   0x03F0

Definition at line 98 of file tja1103_driver.h.

◆ TJA1103_PHY_ID_2_MODEL_DEFAULT

#define TJA1103_PHY_ID_2_MODEL_DEFAULT   0x0010

Definition at line 99 of file tja1103_driver.h.

◆ TJA1103_PHY_ID_2_OUI_BITS_19_TO_24

#define TJA1103_PHY_ID_2_OUI_BITS_19_TO_24   0xFC00

Definition at line 96 of file tja1103_driver.h.

◆ TJA1103_PHY_ID_2_OUI_BITS_19_TO_24_DEFAULT

#define TJA1103_PHY_ID_2_OUI_BITS_19_TO_24_DEFAULT   0xB000

Definition at line 97 of file tja1103_driver.h.

◆ TJA1103_PHY_ID_2_REVISION

#define TJA1103_PHY_ID_2_REVISION   0x000F

Definition at line 100 of file tja1103_driver.h.

◆ TJA1103_PHY_STATUS

#define TJA1103_PHY_STATUS   0x1E, 0x8102

Definition at line 83 of file tja1103_driver.h.

◆ TJA1103_PHY_STATUS_LINK_STATUS

#define TJA1103_PHY_STATUS_LINK_STATUS   0x0004

Definition at line 232 of file tja1103_driver.h.

◆ TJA1103_PORT_ABILITIES

#define TJA1103_PORT_ABILITIES   0x1E, 0x8046

Definition at line 77 of file tja1103_driver.h.

◆ TJA1103_PORT_ABILITIES_PTP_ABILITY

#define TJA1103_PORT_ABILITIES_PTP_ABILITY   0x0008

Definition at line 210 of file tja1103_driver.h.

◆ TJA1103_PORT_CONTROL

#define TJA1103_PORT_CONTROL   0x1E, 0x8040

Definition at line 76 of file tja1103_driver.h.

◆ TJA1103_PORT_CONTROL_CONFIG_ENABLE

#define TJA1103_PORT_CONTROL_CONFIG_ENABLE   0x4000

Definition at line 207 of file tja1103_driver.h.

◆ TJA1103_PORT_FUNC_IRQ_ENABLE

#define TJA1103_PORT_FUNC_IRQ_ENABLE   0x1E, 0x807A

Definition at line 78 of file tja1103_driver.h.

◆ TJA1103_PORT_FUNC_IRQ_ENABLE_PTP_IRQ

#define TJA1103_PORT_FUNC_IRQ_ENABLE_PTP_IRQ   0x0008

Definition at line 213 of file tja1103_driver.h.

◆ TJA1103_PORT_INFRA_CONTROL

#define TJA1103_PORT_INFRA_CONTROL   0x1E, 0xAC00

Definition at line 64 of file tja1103_driver.h.

◆ TJA1103_PORT_INFRA_CONTROL_CONFIG_ENABLE

#define TJA1103_PORT_INFRA_CONTROL_CONFIG_ENABLE   0x4000

Definition at line 158 of file tja1103_driver.h.

◆ TJA1103_PORT_INFRA_CONTROL_RESET

#define TJA1103_PORT_INFRA_CONTROL_RESET   0x8000

Definition at line 157 of file tja1103_driver.h.

◆ TJA1103_PORT_PTP_CONTROL

#define TJA1103_PORT_PTP_CONTROL   0x1E, 0x9000

Definition at line 63 of file tja1103_driver.h.

◆ TJA1103_PORT_PTP_CONTROL_BYPASS

#define TJA1103_PORT_PTP_CONTROL_BYPASS   0x0800

Definition at line 154 of file tja1103_driver.h.

◆ TJA1103_PTP_CONFIG

#define TJA1103_PTP_CONFIG   0x1E, 0x1102

Definition at line 58 of file tja1103_driver.h.

◆ TJA1103_PTP_CONFIG_EXT_TRG_EDGE_SEL

#define TJA1103_PTP_CONFIG_EXT_TRG_EDGE_SEL   0x0002

Definition at line 145 of file tja1103_driver.h.

◆ TJA1103_PTP_CONFIG_PPS_OUT_EN

#define TJA1103_PTP_CONFIG_PPS_OUT_EN   0x0008

Definition at line 143 of file tja1103_driver.h.

◆ TJA1103_PTP_CONFIG_PPS_OUT_POL

#define TJA1103_PTP_CONFIG_PPS_OUT_POL   0x0004

Definition at line 144 of file tja1103_driver.h.

◆ TJA1103_RGMII_RXC_DELAY_CONFIG

#define TJA1103_RGMII_RXC_DELAY_CONFIG   0x1E, 0xAFCD

Definition at line 68 of file tja1103_driver.h.

◆ TJA1103_RGMII_RXC_DELAY_CONFIG_ENABLE

#define TJA1103_RGMII_RXC_DELAY_CONFIG_ENABLE   0x8000

Definition at line 183 of file tja1103_driver.h.

◆ TJA1103_RGMII_RXC_DELAY_CONFIG_PHASE_SHIFT

#define TJA1103_RGMII_RXC_DELAY_CONFIG_PHASE_SHIFT   0x001F

Definition at line 184 of file tja1103_driver.h.

◆ TJA1103_RGMII_RXC_DELAY_CONFIG_PHASE_SHIFT_DEFAULT

#define TJA1103_RGMII_RXC_DELAY_CONFIG_PHASE_SHIFT_DEFAULT   0x0012

Definition at line 185 of file tja1103_driver.h.

◆ TJA1103_RGMII_TXC_DELAY_CONFIG

#define TJA1103_RGMII_TXC_DELAY_CONFIG   0x1E, 0xAFCC

Definition at line 67 of file tja1103_driver.h.

◆ TJA1103_RGMII_TXC_DELAY_CONFIG_ENABLE

#define TJA1103_RGMII_TXC_DELAY_CONFIG_ENABLE   0x8000

Definition at line 178 of file tja1103_driver.h.

◆ TJA1103_RGMII_TXC_DELAY_CONFIG_PHASE_SHIFT

#define TJA1103_RGMII_TXC_DELAY_CONFIG_PHASE_SHIFT   0x001F

Definition at line 179 of file tja1103_driver.h.

◆ TJA1103_RGMII_TXC_DELAY_CONFIG_PHASE_SHIFT_DEFAULT

#define TJA1103_RGMII_TXC_DELAY_CONFIG_PHASE_SHIFT_DEFAULT   0x0012

Definition at line 180 of file tja1103_driver.h.

◆ TJA1103_RX_IPG_LENGTH

#define TJA1103_RX_IPG_LENGTH   0x1E, 0xAFD0

Definition at line 71 of file tja1103_driver.h.

◆ TJA1103_RX_IPG_LENGTH_ENABLE

#define TJA1103_RX_IPG_LENGTH_ENABLE   0x8000

Definition at line 196 of file tja1103_driver.h.

◆ TJA1103_RX_IPG_LENGTH_LENGTH

#define TJA1103_RX_IPG_LENGTH_LENGTH   0x01FF

Definition at line 197 of file tja1103_driver.h.

◆ TJA1103_RX_PREAMBLE_COUNT

#define TJA1103_RX_PREAMBLE_COUNT   0x1E, 0xAFCE

Definition at line 69 of file tja1103_driver.h.

◆ TJA1103_RX_PREAMBLE_COUNT_COUNT

#define TJA1103_RX_PREAMBLE_COUNT_COUNT   0x003F

Definition at line 189 of file tja1103_driver.h.

◆ TJA1103_RX_PREAMBLE_COUNT_ENABLE

#define TJA1103_RX_PREAMBLE_COUNT_ENABLE   0x8000

Definition at line 188 of file tja1103_driver.h.

◆ TJA1103_RX_TS_INSRT_CTRL

#define TJA1103_RX_TS_INSRT_CTRL   0x1E, 0x114D

Definition at line 59 of file tja1103_driver.h.

◆ TJA1103_SGMII_BASIC_CONTROL

#define TJA1103_SGMII_BASIC_CONTROL   0x1E, 0xB000

Definition at line 73 of file tja1103_driver.h.

◆ TJA1103_SGMII_BASIC_CONTROL_LPM

#define TJA1103_SGMII_BASIC_CONTROL_LPM   0x0800

Definition at line 204 of file tja1103_driver.h.

◆ TJA1103_SIGNAL_QUALITY

#define TJA1103_SIGNAL_QUALITY   0x1E, 0x8320

Definition at line 85 of file tja1103_driver.h.

◆ TJA1103_SIGNAL_QUALITY_SQI

#define TJA1103_SIGNAL_QUALITY_SQI   0x0007

Definition at line 239 of file tja1103_driver.h.

◆ TJA1103_SIGNAL_QUALITY_VALID

#define TJA1103_SIGNAL_QUALITY_VALID   0x4000

Definition at line 238 of file tja1103_driver.h.

◆ TJA1103_SYMBOL_ERROR_COUNTER

#define TJA1103_SYMBOL_ERROR_COUNTER   0x1E, 0x8350

Definition at line 87 of file tja1103_driver.h.

◆ TJA1103_SYMBOL_ERROR_COUNTER_SYMBOL_ERRORS

#define TJA1103_SYMBOL_ERROR_COUNTER_SYMBOL_ERRORS   0xFFFF

Definition at line 252 of file tja1103_driver.h.

◆ TJA1103_TX_IPG_LENGTH

#define TJA1103_TX_IPG_LENGTH   0x1E, 0xAFD1

Definition at line 72 of file tja1103_driver.h.

◆ TJA1103_TX_IPG_LENGTH_ENABLE

#define TJA1103_TX_IPG_LENGTH_ENABLE   0x8000

Definition at line 200 of file tja1103_driver.h.

◆ TJA1103_TX_IPG_LENGTH_LENGTH

#define TJA1103_TX_IPG_LENGTH_LENGTH   0x01FF

Definition at line 201 of file tja1103_driver.h.

◆ TJA1103_TX_PREAMBLE_COUNT

#define TJA1103_TX_PREAMBLE_COUNT   0x1E, 0xAFCF

Definition at line 70 of file tja1103_driver.h.

◆ TJA1103_TX_PREAMBLE_COUNT_COUNT

#define TJA1103_TX_PREAMBLE_COUNT_COUNT   0x003F

Definition at line 193 of file tja1103_driver.h.

◆ TJA1103_TX_PREAMBLE_COUNT_ENABLE

#define TJA1103_TX_PREAMBLE_COUNT_ENABLE   0x8000

Definition at line 192 of file tja1103_driver.h.

◆ TJA1103_XMII_ABILITIES

#define TJA1103_XMII_ABILITIES   0x1E, 0xAFC4

Definition at line 65 of file tja1103_driver.h.

◆ TJA1103_XMII_ABILITIES_MII_MASTER_ABILITY

#define TJA1103_XMII_ABILITIES_MII_MASTER_ABILITY   0x0100

Definition at line 166 of file tja1103_driver.h.

◆ TJA1103_XMII_ABILITIES_MII_SLAVE_ABILITY

#define TJA1103_XMII_ABILITIES_MII_SLAVE_ABILITY   0x0200

Definition at line 165 of file tja1103_driver.h.

◆ TJA1103_XMII_ABILITIES_RGMII_ABILITY

#define TJA1103_XMII_ABILITIES_RGMII_ABILITY   0x4000

Definition at line 162 of file tja1103_driver.h.

◆ TJA1103_XMII_ABILITIES_RGMII_ID_ABILITY

#define TJA1103_XMII_ABILITIES_RGMII_ID_ABILITY   0x8000

Definition at line 161 of file tja1103_driver.h.

◆ TJA1103_XMII_ABILITIES_RMII_MASTER_ABILITY

#define TJA1103_XMII_ABILITIES_RMII_MASTER_ABILITY   0x0800

Definition at line 163 of file tja1103_driver.h.

◆ TJA1103_XMII_ABILITIES_RMII_SLAVE_ABILITY

#define TJA1103_XMII_ABILITIES_RMII_SLAVE_ABILITY   0x0400

Definition at line 164 of file tja1103_driver.h.

◆ TJA1103_XMII_ABILITIES_SGMII_ABILITY

#define TJA1103_XMII_ABILITIES_SGMII_ABILITY   0x0001

Definition at line 167 of file tja1103_driver.h.

Function Documentation

◆ tja1103DisableIrq()

void tja1103DisableIrq ( NetInterface interface)

Disable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 208 of file tja1103_driver.c.

◆ tja1103DumpPhyReg()

void tja1103DumpPhyReg ( NetInterface interface)

Dump PHY registers for debugging purpose.

Parameters
[in]interfaceUnderlying network interface

Definition at line 309 of file tja1103_driver.c.

◆ tja1103EnableIrq()

void tja1103EnableIrq ( NetInterface interface)

Enable interrupts.

Parameters
[in]interfaceUnderlying network interface

Definition at line 193 of file tja1103_driver.c.

◆ tja1103EventHandler()

void tja1103EventHandler ( NetInterface interface)

TJA1103 event handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 223 of file tja1103_driver.c.

◆ tja1103Init()

error_t tja1103Init ( NetInterface interface)

TJA1103 PHY transceiver initialization.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 60 of file tja1103_driver.c.

◆ tja1103InitHook()

void tja1103InitHook ( NetInterface interface)

TJA1103 custom configuration.

Parameters
[in]interfaceUnderlying network interface

Definition at line 145 of file tja1103_driver.c.

◆ tja1103ReadMmdReg()

uint16_t tja1103ReadMmdReg ( NetInterface interface,
uint8_t  devAddr,
uint16_t  regAddr 
)

Read MMD register.

Parameters
[in]interfaceUnderlying network interface
[in]devAddrDevice address
[in]regAddrRegister address
Returns
MMD register value

Definition at line 363 of file tja1103_driver.c.

◆ tja1103ReadPhyReg()

uint16_t tja1103ReadPhyReg ( NetInterface interface,
uint8_t  address 
)

Read PHY register.

Parameters
[in]interfaceUnderlying network interface
[in]addressPHY register address
Returns
Register value

Definition at line 283 of file tja1103_driver.c.

◆ tja1103Tick()

void tja1103Tick ( NetInterface interface)

TJA1103 timer handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 155 of file tja1103_driver.c.

◆ tja1103WriteMmdReg()

void tja1103WriteMmdReg ( NetInterface interface,
uint8_t  devAddr,
uint16_t  regAddr,
uint16_t  data 
)

Write MMD register.

Parameters
[in]interfaceUnderlying network interface
[in]devAddrDevice address
[in]regAddrRegister address
[in]dataMMD register value

Definition at line 334 of file tja1103_driver.c.

◆ tja1103WritePhyReg()

void tja1103WritePhyReg ( NetInterface interface,
uint8_t  address,
uint16_t  data 
)

Write PHY register.

Parameters
[in]interfaceUnderlying network interface
[in]addressPHY register address
[in]dataRegister value

Definition at line 259 of file tja1103_driver.c.

Variable Documentation

◆ tja1103PhyDriver

const PhyDriver tja1103PhyDriver
extern

TJA1103 Ethernet PHY driver.

Definition at line 44 of file tja1103_driver.c.