
menu "PORT 1"

config PORT01_IFACE
	string "Network interface"
	default "wri1"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT01_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT01_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT01_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT01_INSTANCE_COUNT_1
	config PORT01_INSTANCE_COUNT_0
	  bool "0"
	config PORT01_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT01_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT01_INST01_PROTOCOL_RAW
    config PORT01_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT01_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT01_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT01_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.1"
	help
	  IP to be set on an interface assigned to this instance

config PORT01_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT01_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT01_INST01_MECHANISM_E2E
    config PORT01_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT01_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT01_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT01_INST01_PROFILE_KEEP_GLOBAL
	config PORT01_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT01_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT01_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT01_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT01_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT01_INST01_PROFILE_HA_WR \
		|| PORT01_INST01_PROFILE_CUSTOM
	default PORT01_INST01_EXTENSION_NONE if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT01_INST01_PROFILE_PTP
	default PORT01_INST01_EXTENSION_WR if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT01_INST01_PROFILE_HA_WR
	config PORT01_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT01_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT01_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT01_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT01_INST01_DESIRADE_STATE_SLAVE if TIME_BC
	default PORT01_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT01_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT01_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT01_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT01_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT01_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT01_INST01_PROFILE_PTP \
		    || PORT01_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT01_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 240859
	help
	  Defines the transmission constant delay (ps)

config PORT01_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 280509
	help
	  Defines the reception constant delay (ps)

config PORT01_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT01_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT01_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT01_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT01_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT01_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT01_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT01_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT01_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT01_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT01_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT01_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT01_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT01_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT01_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT01_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT01_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT01_INST01_MECHANISM_E2E

config PORT01_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT01_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT01_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT01_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT01_INST01_MECHANISM_P2P

config PORT01_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT01_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT01_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT01_INST01_EXTENSION_L1S || PORT01_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT01_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT01_INST01_PROFILE_CUSTOM || (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT01_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT01_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT01_INST01_PROFILE_CUSTOM || (PORT01_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT01_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT01_INST01_L1SYNC_ENABLED_OVERWRITE || PORT01_INST01_L1SYNC_ENABLED

config PORT01_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT01_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT01_INST01_L1SYNC_ENABLED_OVERWRITE || PORT01_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT01_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT01_INST01_L1SYNC_ENABLED_OVERWRITE || PORT01_INST01_L1SYNC_ENABLED

config PORT01_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT01_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT01_INST01_L1SYNC_ENABLED_OVERWRITE || PORT01_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT01_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT01_INST01_L1SYNC_ENABLED

config PORT01_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT01_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT01_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT01_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT01_INST01_L1SYNC_ENABLED

config PORT01_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT01_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT01_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT01_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT01_INST01_L1SYNC_ENABLED

config PORT01_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT01_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT01_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT01_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT01_INST01_L1SYNC_ENABLED

config PORT01_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT01_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT01_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT01_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT01_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT01_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT01_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT01_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT01_INST01_EXTENSION_L1S || PORT01_INST01_EXTENSION_L1S_WR


endmenu # Port 1 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT01_INST01_T24P_TRANS_POINT
	int
	default 10800

endmenu

menu "PORT 2"

config PORT02_IFACE
	string "Network interface"
	default "wri2"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT02_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT02_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT02_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT02_INSTANCE_COUNT_1
	config PORT02_INSTANCE_COUNT_0
	  bool "0"
	config PORT02_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT02_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT02_INST01_PROTOCOL_RAW
    config PORT02_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT02_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT02_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT02_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.2"
	help
	  IP to be set on an interface assigned to this instance

config PORT02_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT02_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT02_INST01_MECHANISM_E2E
    config PORT02_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT02_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT02_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT02_INST01_PROFILE_KEEP_GLOBAL
	config PORT02_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT02_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT02_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT02_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT02_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT02_INST01_PROFILE_HA_WR \
		|| PORT02_INST01_PROFILE_CUSTOM
	default PORT02_INST01_EXTENSION_NONE if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT02_INST01_PROFILE_PTP
	default PORT02_INST01_EXTENSION_WR if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT02_INST01_PROFILE_HA_WR
	config PORT02_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT02_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT02_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT02_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT02_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT02_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT02_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT02_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT02_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT02_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT02_INST01_PROFILE_PTP \
		    || PORT02_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT02_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 240246
	help
	  Defines the transmission constant delay (ps)

config PORT02_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 279646
	help
	  Defines the reception constant delay (ps)

config PORT02_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT02_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT02_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT02_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT02_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT02_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT02_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT02_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT02_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT02_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT02_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT02_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT02_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT02_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT02_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT02_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT02_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT02_INST01_MECHANISM_E2E

config PORT02_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT02_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT02_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT02_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT02_INST01_MECHANISM_P2P

config PORT02_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT02_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT02_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT02_INST01_EXTENSION_L1S || PORT02_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT02_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT02_INST01_PROFILE_CUSTOM || (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT02_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT02_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT02_INST01_PROFILE_CUSTOM || (PORT02_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT02_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT02_INST01_L1SYNC_ENABLED_OVERWRITE || PORT02_INST01_L1SYNC_ENABLED

config PORT02_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT02_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT02_INST01_L1SYNC_ENABLED_OVERWRITE || PORT02_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT02_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT02_INST01_L1SYNC_ENABLED_OVERWRITE || PORT02_INST01_L1SYNC_ENABLED

config PORT02_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT02_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT02_INST01_L1SYNC_ENABLED_OVERWRITE || PORT02_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT02_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT02_INST01_L1SYNC_ENABLED

config PORT02_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT02_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT02_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT02_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT02_INST01_L1SYNC_ENABLED

config PORT02_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT02_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT02_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT02_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT02_INST01_L1SYNC_ENABLED

config PORT02_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT02_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT02_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT02_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT02_INST01_L1SYNC_ENABLED

config PORT02_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT02_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT02_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT02_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT02_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT02_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT02_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT02_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT02_INST01_EXTENSION_L1S || PORT02_INST01_EXTENSION_L1S_WR


endmenu # Port 2 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT02_INST01_T24P_TRANS_POINT
	int
	default 12650

endmenu

menu "PORT 3"

config PORT03_IFACE
	string "Network interface"
	default "wri3"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT03_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT03_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT03_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT03_INSTANCE_COUNT_1
	config PORT03_INSTANCE_COUNT_0
	  bool "0"
	config PORT03_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT03_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT03_INST01_PROTOCOL_RAW
    config PORT03_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT03_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT03_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT03_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.3"
	help
	  IP to be set on an interface assigned to this instance

config PORT03_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT03_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT03_INST01_MECHANISM_E2E
    config PORT03_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT03_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT03_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT03_INST01_PROFILE_KEEP_GLOBAL
	config PORT03_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT03_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT03_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT03_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT03_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT03_INST01_PROFILE_HA_WR \
		|| PORT03_INST01_PROFILE_CUSTOM
	default PORT03_INST01_EXTENSION_NONE if (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT03_INST01_PROFILE_PTP
	default PORT03_INST01_EXTENSION_WR if (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT03_INST01_PROFILE_HA_WR
	config PORT03_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT03_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT03_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT03_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT03_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT03_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT03_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT03_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT03_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT03_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT03_INST01_PROFILE_PTP \
		    || PORT03_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT03_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 240468
	help
	  Defines the transmission constant delay (ps)

config PORT03_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 278778
	help
	  Defines the reception constant delay (ps)

config PORT03_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT03_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT03_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT03_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT03_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT03_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT03_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT03_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT03_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT03_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT03_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT03_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT03_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT03_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT03_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT03_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT03_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT03_INST01_MECHANISM_E2E

config PORT03_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT03_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT03_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT03_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT03_INST01_MECHANISM_P2P

config PORT03_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT03_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT03_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT03_INST01_EXTENSION_L1S || PORT03_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT03_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT03_INST01_PROFILE_CUSTOM || (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT03_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT03_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT03_INST01_PROFILE_CUSTOM || (PORT03_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT03_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT03_INST01_L1SYNC_ENABLED_OVERWRITE || PORT03_INST01_L1SYNC_ENABLED

config PORT03_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT03_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT03_INST01_L1SYNC_ENABLED_OVERWRITE || PORT03_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT03_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT03_INST01_L1SYNC_ENABLED_OVERWRITE || PORT03_INST01_L1SYNC_ENABLED

config PORT03_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT03_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT03_INST01_L1SYNC_ENABLED_OVERWRITE || PORT03_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT03_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT03_INST01_L1SYNC_ENABLED

config PORT03_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT03_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT03_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT03_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT03_INST01_L1SYNC_ENABLED

config PORT03_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT03_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT03_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT03_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT03_INST01_L1SYNC_ENABLED

config PORT03_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT03_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT03_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT03_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT03_INST01_L1SYNC_ENABLED

config PORT03_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT03_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT03_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT03_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT03_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT03_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT03_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT03_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT03_INST01_EXTENSION_L1S || PORT03_INST01_EXTENSION_L1S_WR


endmenu # Port 3 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT03_INST01_T24P_TRANS_POINT
	int
	default 13800

endmenu

menu "PORT 4"

config PORT04_IFACE
	string "Network interface"
	default "wri4"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT04_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT04_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT04_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT04_INSTANCE_COUNT_1
	config PORT04_INSTANCE_COUNT_0
	  bool "0"
	config PORT04_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT04_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT04_INST01_PROTOCOL_RAW
    config PORT04_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT04_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT04_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT04_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.4"
	help
	  IP to be set on an interface assigned to this instance

config PORT04_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT04_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT04_INST01_MECHANISM_E2E
    config PORT04_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT04_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT04_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT04_INST01_PROFILE_KEEP_GLOBAL
	config PORT04_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT04_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT04_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT04_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT04_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT04_INST01_PROFILE_HA_WR \
		|| PORT04_INST01_PROFILE_CUSTOM
	default PORT04_INST01_EXTENSION_NONE if (PORT04_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT04_INST01_PROFILE_PTP
	default PORT04_INST01_EXTENSION_WR if (PORT04_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT04_INST01_PROFILE_HA_WR
	config PORT04_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT04_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT04_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT04_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT04_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT04_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT04_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT04_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT04_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT04_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT04_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT04_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT04_INST01_PROFILE_PTP \
		    || PORT04_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT04_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 241377
	help
	  Defines the transmission constant delay (ps)

config PORT04_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 277767
	help
	  Defines the reception constant delay (ps)

config PORT04_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT04_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT04_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT04_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT04_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT04_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT04_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT04_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT04_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT04_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT04_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT04_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT04_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT04_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT04_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT04_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT04_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT04_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT04_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT04_INST01_MECHANISM_E2E

config PORT04_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT04_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT04_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT04_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT04_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT04_INST01_MECHANISM_P2P

config PORT04_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT04_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT04_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT04_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT04_INST01_EXTENSION_L1S || PORT04_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT04_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT04_INST01_PROFILE_CUSTOM || (PORT04_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT04_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT04_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT04_INST01_PROFILE_CUSTOM || (PORT04_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT04_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT04_INST01_L1SYNC_ENABLED_OVERWRITE || PORT04_INST01_L1SYNC_ENABLED

config PORT04_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT04_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT04_INST01_L1SYNC_ENABLED_OVERWRITE || PORT04_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT04_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT04_INST01_L1SYNC_ENABLED_OVERWRITE || PORT04_INST01_L1SYNC_ENABLED

config PORT04_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT04_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT04_INST01_L1SYNC_ENABLED_OVERWRITE || PORT04_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT04_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT04_INST01_L1SYNC_ENABLED

config PORT04_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT04_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT04_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT04_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT04_INST01_L1SYNC_ENABLED

config PORT04_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT04_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT04_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT04_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT04_INST01_L1SYNC_ENABLED

config PORT04_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT04_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT04_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT04_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT04_INST01_L1SYNC_ENABLED

config PORT04_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT04_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT04_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT04_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT04_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT04_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT04_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT04_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT04_INST01_EXTENSION_L1S || PORT04_INST01_EXTENSION_L1S_WR


endmenu # Port 4 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT04_INST01_T24P_TRANS_POINT
	int
	default 14650

endmenu

menu "PORT 5"

config PORT05_IFACE
	string "Network interface"
	default "wri5"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT05_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT05_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT05_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT05_INSTANCE_COUNT_1
	config PORT05_INSTANCE_COUNT_0
	  bool "0"
	config PORT05_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT05_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT05_INST01_PROTOCOL_RAW
    config PORT05_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT05_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT05_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT05_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.5"
	help
	  IP to be set on an interface assigned to this instance

config PORT05_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT05_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT05_INST01_MECHANISM_E2E
    config PORT05_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT05_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT05_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT05_INST01_PROFILE_KEEP_GLOBAL
	config PORT05_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT05_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT05_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT05_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT05_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT05_INST01_PROFILE_HA_WR \
		|| PORT05_INST01_PROFILE_CUSTOM
	default PORT05_INST01_EXTENSION_NONE if (PORT05_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT05_INST01_PROFILE_PTP
	default PORT05_INST01_EXTENSION_WR if (PORT05_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT05_INST01_PROFILE_HA_WR
	config PORT05_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT05_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT05_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT05_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT05_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT05_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT05_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT05_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT05_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT05_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT05_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT05_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT05_INST01_PROFILE_PTP \
		    || PORT05_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT05_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 239190
	help
	  Defines the transmission constant delay (ps)

config PORT05_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 278370
	help
	  Defines the reception constant delay (ps)

config PORT05_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT05_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT05_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT05_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT05_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT05_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT05_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT05_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT05_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT05_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT05_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT05_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT05_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT05_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT05_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT05_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT05_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT05_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT05_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT05_INST01_MECHANISM_E2E

config PORT05_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT05_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT05_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT05_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT05_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT05_INST01_MECHANISM_P2P

config PORT05_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT05_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT05_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT05_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT05_INST01_EXTENSION_L1S || PORT05_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT05_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT05_INST01_PROFILE_CUSTOM || (PORT05_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT05_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT05_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT05_INST01_PROFILE_CUSTOM || (PORT05_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT05_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT05_INST01_L1SYNC_ENABLED_OVERWRITE || PORT05_INST01_L1SYNC_ENABLED

config PORT05_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT05_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT05_INST01_L1SYNC_ENABLED_OVERWRITE || PORT05_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT05_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT05_INST01_L1SYNC_ENABLED_OVERWRITE || PORT05_INST01_L1SYNC_ENABLED

config PORT05_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT05_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT05_INST01_L1SYNC_ENABLED_OVERWRITE || PORT05_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT05_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT05_INST01_L1SYNC_ENABLED

config PORT05_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT05_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT05_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT05_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT05_INST01_L1SYNC_ENABLED

config PORT05_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT05_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT05_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT05_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT05_INST01_L1SYNC_ENABLED

config PORT05_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT05_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT05_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT05_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT05_INST01_L1SYNC_ENABLED

config PORT05_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT05_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT05_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT05_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT05_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT05_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT05_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT05_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT05_INST01_EXTENSION_L1S || PORT05_INST01_EXTENSION_L1S_WR


endmenu # Port 5 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT05_INST01_T24P_TRANS_POINT
	int
	default 13300

endmenu

menu "PORT 6"

config PORT06_IFACE
	string "Network interface"
	default "wri6"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT06_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT06_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT06_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT06_INSTANCE_COUNT_1
	config PORT06_INSTANCE_COUNT_0
	  bool "0"
	config PORT06_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT06_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT06_INST01_PROTOCOL_RAW
    config PORT06_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT06_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT06_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT06_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.6"
	help
	  IP to be set on an interface assigned to this instance

config PORT06_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT06_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT06_INST01_MECHANISM_E2E
    config PORT06_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT06_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT06_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT06_INST01_PROFILE_KEEP_GLOBAL
	config PORT06_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT06_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT06_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT06_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT06_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT06_INST01_PROFILE_HA_WR \
		|| PORT06_INST01_PROFILE_CUSTOM
	default PORT06_INST01_EXTENSION_NONE if (PORT06_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT06_INST01_PROFILE_PTP
	default PORT06_INST01_EXTENSION_WR if (PORT06_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT06_INST01_PROFILE_HA_WR
	config PORT06_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT06_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT06_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT06_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT06_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT06_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT06_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT06_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT06_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT06_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT06_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT06_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT06_INST01_PROFILE_PTP \
		    || PORT06_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT06_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 238521
	help
	  Defines the transmission constant delay (ps)

config PORT06_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 278635
	help
	  Defines the reception constant delay (ps)

config PORT06_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT06_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT06_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT06_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT06_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT06_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT06_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT06_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT06_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT06_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT06_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT06_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT06_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT06_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT06_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT06_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT06_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT06_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT06_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT06_INST01_MECHANISM_E2E

config PORT06_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT06_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT06_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT06_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT06_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT06_INST01_MECHANISM_P2P

config PORT06_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT06_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT06_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT06_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT06_INST01_EXTENSION_L1S || PORT06_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT06_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT06_INST01_PROFILE_CUSTOM || (PORT06_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT06_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT06_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT06_INST01_PROFILE_CUSTOM || (PORT06_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT06_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT06_INST01_L1SYNC_ENABLED_OVERWRITE || PORT06_INST01_L1SYNC_ENABLED

config PORT06_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT06_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT06_INST01_L1SYNC_ENABLED_OVERWRITE || PORT06_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT06_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT06_INST01_L1SYNC_ENABLED_OVERWRITE || PORT06_INST01_L1SYNC_ENABLED

config PORT06_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT06_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT06_INST01_L1SYNC_ENABLED_OVERWRITE || PORT06_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT06_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT06_INST01_L1SYNC_ENABLED

config PORT06_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT06_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT06_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT06_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT06_INST01_L1SYNC_ENABLED

config PORT06_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT06_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT06_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT06_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT06_INST01_L1SYNC_ENABLED

config PORT06_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT06_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT06_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT06_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT06_INST01_L1SYNC_ENABLED

config PORT06_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT06_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT06_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT06_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT06_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT06_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT06_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT06_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT06_INST01_EXTENSION_L1S || PORT06_INST01_EXTENSION_L1S_WR


endmenu # Port 6 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT06_INST01_T24P_TRANS_POINT
	int
	default 13300

endmenu

menu "PORT 7"

config PORT07_IFACE
	string "Network interface"
	default "wri7"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT07_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT07_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT07_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT07_INSTANCE_COUNT_1
	config PORT07_INSTANCE_COUNT_0
	  bool "0"
	config PORT07_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT07_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT07_INST01_PROTOCOL_RAW
    config PORT07_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT07_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT07_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT07_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.7"
	help
	  IP to be set on an interface assigned to this instance

config PORT07_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT07_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT07_INST01_MECHANISM_E2E
    config PORT07_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT07_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT07_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT07_INST01_PROFILE_KEEP_GLOBAL
	config PORT07_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT07_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT07_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT07_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT07_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT07_INST01_PROFILE_HA_WR \
		|| PORT07_INST01_PROFILE_CUSTOM
	default PORT07_INST01_EXTENSION_NONE if (PORT07_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT07_INST01_PROFILE_PTP
	default PORT07_INST01_EXTENSION_WR if (PORT07_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT07_INST01_PROFILE_HA_WR
	config PORT07_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT07_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT07_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT07_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT07_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT07_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT07_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT07_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT07_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT07_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT07_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT07_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT07_INST01_PROFILE_PTP \
		    || PORT07_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT07_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 239460
	help
	  Defines the transmission constant delay (ps)

config PORT07_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 279092
	help
	  Defines the reception constant delay (ps)

config PORT07_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT07_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT07_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT07_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT07_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT07_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT07_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT07_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT07_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT07_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT07_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT07_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT07_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT07_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT07_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT07_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT07_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT07_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT07_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT07_INST01_MECHANISM_E2E

config PORT07_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT07_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT07_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT07_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT07_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT07_INST01_MECHANISM_P2P

config PORT07_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT07_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT07_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT07_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT07_INST01_EXTENSION_L1S || PORT07_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT07_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT07_INST01_PROFILE_CUSTOM || (PORT07_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT07_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT07_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT07_INST01_PROFILE_CUSTOM || (PORT07_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT07_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT07_INST01_L1SYNC_ENABLED_OVERWRITE || PORT07_INST01_L1SYNC_ENABLED

config PORT07_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT07_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT07_INST01_L1SYNC_ENABLED_OVERWRITE || PORT07_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT07_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT07_INST01_L1SYNC_ENABLED_OVERWRITE || PORT07_INST01_L1SYNC_ENABLED

config PORT07_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT07_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT07_INST01_L1SYNC_ENABLED_OVERWRITE || PORT07_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT07_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT07_INST01_L1SYNC_ENABLED

config PORT07_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT07_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT07_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT07_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT07_INST01_L1SYNC_ENABLED

config PORT07_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT07_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT07_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT07_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT07_INST01_L1SYNC_ENABLED

config PORT07_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT07_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT07_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT07_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT07_INST01_L1SYNC_ENABLED

config PORT07_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT07_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT07_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT07_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT07_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT07_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT07_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT07_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT07_INST01_EXTENSION_L1S || PORT07_INST01_EXTENSION_L1S_WR


endmenu # Port 7 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT07_INST01_T24P_TRANS_POINT
	int
	default 13000

endmenu

menu "PORT 8"

config PORT08_IFACE
	string "Network interface"
	default "wri8"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT08_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT08_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT08_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT08_INSTANCE_COUNT_1
	config PORT08_INSTANCE_COUNT_0
	  bool "0"
	config PORT08_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT08_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT08_INST01_PROTOCOL_RAW
    config PORT08_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT08_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT08_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT08_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.8"
	help
	  IP to be set on an interface assigned to this instance

config PORT08_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT08_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT08_INST01_MECHANISM_E2E
    config PORT08_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT08_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT08_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT08_INST01_PROFILE_KEEP_GLOBAL
	config PORT08_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT08_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT08_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT08_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT08_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT08_INST01_PROFILE_HA_WR \
		|| PORT08_INST01_PROFILE_CUSTOM
	default PORT08_INST01_EXTENSION_NONE if (PORT08_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT08_INST01_PROFILE_PTP
	default PORT08_INST01_EXTENSION_WR if (PORT08_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT08_INST01_PROFILE_HA_WR
	config PORT08_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT08_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT08_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT08_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT08_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT08_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT08_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT08_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT08_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT08_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT08_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT08_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT08_INST01_PROFILE_PTP \
		    || PORT08_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT08_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 238804
	help
	  Defines the transmission constant delay (ps)

config PORT08_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 277660
	help
	  Defines the reception constant delay (ps)

config PORT08_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT08_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT08_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT08_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT08_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT08_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT08_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT08_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT08_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT08_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT08_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT08_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT08_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT08_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT08_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT08_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT08_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT08_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT08_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT08_INST01_MECHANISM_E2E

config PORT08_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT08_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT08_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT08_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT08_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT08_INST01_MECHANISM_P2P

config PORT08_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT08_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT08_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT08_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT08_INST01_EXTENSION_L1S || PORT08_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT08_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT08_INST01_PROFILE_CUSTOM || (PORT08_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT08_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT08_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT08_INST01_PROFILE_CUSTOM || (PORT08_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT08_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT08_INST01_L1SYNC_ENABLED_OVERWRITE || PORT08_INST01_L1SYNC_ENABLED

config PORT08_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT08_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT08_INST01_L1SYNC_ENABLED_OVERWRITE || PORT08_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT08_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT08_INST01_L1SYNC_ENABLED_OVERWRITE || PORT08_INST01_L1SYNC_ENABLED

config PORT08_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT08_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT08_INST01_L1SYNC_ENABLED_OVERWRITE || PORT08_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT08_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT08_INST01_L1SYNC_ENABLED

config PORT08_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT08_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT08_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT08_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT08_INST01_L1SYNC_ENABLED

config PORT08_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT08_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT08_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT08_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT08_INST01_L1SYNC_ENABLED

config PORT08_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT08_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT08_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT08_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT08_INST01_L1SYNC_ENABLED

config PORT08_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT08_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT08_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT08_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT08_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT08_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT08_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT08_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT08_INST01_EXTENSION_L1S || PORT08_INST01_EXTENSION_L1S_WR


endmenu # Port 8 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT08_INST01_T24P_TRANS_POINT
	int
	default 14950

endmenu

menu "PORT 9"

config PORT09_IFACE
	string "Network interface"
	default "wri9"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT09_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT09_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT09_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT09_INSTANCE_COUNT_1
	config PORT09_INSTANCE_COUNT_0
	  bool "0"
	config PORT09_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT09_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT09_INST01_PROTOCOL_RAW
    config PORT09_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT09_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT09_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT09_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.9"
	help
	  IP to be set on an interface assigned to this instance

config PORT09_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT09_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT09_INST01_MECHANISM_E2E
    config PORT09_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT09_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT09_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT09_INST01_PROFILE_KEEP_GLOBAL
	config PORT09_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT09_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT09_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT09_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT09_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT09_INST01_PROFILE_HA_WR \
		|| PORT09_INST01_PROFILE_CUSTOM
	default PORT09_INST01_EXTENSION_NONE if (PORT09_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT09_INST01_PROFILE_PTP
	default PORT09_INST01_EXTENSION_WR if (PORT09_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT09_INST01_PROFILE_HA_WR
	config PORT09_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT09_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT09_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT09_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT09_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT09_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT09_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT09_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT09_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT09_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT09_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT09_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT09_INST01_PROFILE_PTP \
		    || PORT09_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT09_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 240569
	help
	  Defines the transmission constant delay (ps)

config PORT09_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 278977
	help
	  Defines the reception constant delay (ps)

config PORT09_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT09_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT09_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT09_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT09_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT09_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT09_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT09_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT09_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT09_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT09_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT09_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT09_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT09_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT09_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT09_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT09_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT09_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT09_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT09_INST01_MECHANISM_E2E

config PORT09_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT09_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT09_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT09_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT09_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT09_INST01_MECHANISM_P2P

config PORT09_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT09_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT09_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT09_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT09_INST01_EXTENSION_L1S || PORT09_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT09_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT09_INST01_PROFILE_CUSTOM || (PORT09_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT09_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT09_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT09_INST01_PROFILE_CUSTOM || (PORT09_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT09_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT09_INST01_L1SYNC_ENABLED_OVERWRITE || PORT09_INST01_L1SYNC_ENABLED

config PORT09_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT09_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT09_INST01_L1SYNC_ENABLED_OVERWRITE || PORT09_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT09_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT09_INST01_L1SYNC_ENABLED_OVERWRITE || PORT09_INST01_L1SYNC_ENABLED

config PORT09_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT09_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT09_INST01_L1SYNC_ENABLED_OVERWRITE || PORT09_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT09_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT09_INST01_L1SYNC_ENABLED

config PORT09_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT09_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT09_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT09_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT09_INST01_L1SYNC_ENABLED

config PORT09_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT09_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT09_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT09_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT09_INST01_L1SYNC_ENABLED

config PORT09_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT09_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT09_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT09_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT09_INST01_L1SYNC_ENABLED

config PORT09_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT09_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT09_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT09_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT09_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT09_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT09_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT09_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT09_INST01_EXTENSION_L1S || PORT09_INST01_EXTENSION_L1S_WR


endmenu # Port 9 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT09_INST01_T24P_TRANS_POINT
	int
	default 14500

endmenu

menu "PORT 10"

config PORT10_IFACE
	string "Network interface"
	default "wri10"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT10_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT10_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT10_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT10_INSTANCE_COUNT_1
	config PORT10_INSTANCE_COUNT_0
	  bool "0"
	config PORT10_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT10_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT10_INST01_PROTOCOL_RAW
    config PORT10_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT10_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT10_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT10_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.10"
	help
	  IP to be set on an interface assigned to this instance

config PORT10_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT10_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT10_INST01_MECHANISM_E2E
    config PORT10_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT10_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT10_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT10_INST01_PROFILE_KEEP_GLOBAL
	config PORT10_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT10_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT10_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT10_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT10_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT10_INST01_PROFILE_HA_WR \
		|| PORT10_INST01_PROFILE_CUSTOM
	default PORT10_INST01_EXTENSION_NONE if (PORT10_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT10_INST01_PROFILE_PTP
	default PORT10_INST01_EXTENSION_WR if (PORT10_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT10_INST01_PROFILE_HA_WR
	config PORT10_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT10_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT10_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT10_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT10_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT10_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT10_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT10_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT10_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT10_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT10_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT10_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT10_INST01_PROFILE_PTP \
		    || PORT10_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT10_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 240768
	help
	  Defines the transmission constant delay (ps)

config PORT10_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 278356
	help
	  Defines the reception constant delay (ps)

config PORT10_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT10_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT10_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT10_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT10_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT10_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT10_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT10_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT10_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT10_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT10_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT10_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT10_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT10_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT10_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT10_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT10_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT10_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT10_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT10_INST01_MECHANISM_E2E

config PORT10_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT10_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT10_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT10_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT10_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT10_INST01_MECHANISM_P2P

config PORT10_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT10_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT10_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT10_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT10_INST01_EXTENSION_L1S || PORT10_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT10_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT10_INST01_PROFILE_CUSTOM || (PORT10_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT10_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT10_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT10_INST01_PROFILE_CUSTOM || (PORT10_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT10_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT10_INST01_L1SYNC_ENABLED_OVERWRITE || PORT10_INST01_L1SYNC_ENABLED

config PORT10_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT10_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT10_INST01_L1SYNC_ENABLED_OVERWRITE || PORT10_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT10_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT10_INST01_L1SYNC_ENABLED_OVERWRITE || PORT10_INST01_L1SYNC_ENABLED

config PORT10_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT10_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT10_INST01_L1SYNC_ENABLED_OVERWRITE || PORT10_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT10_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT10_INST01_L1SYNC_ENABLED

config PORT10_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT10_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT10_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT10_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT10_INST01_L1SYNC_ENABLED

config PORT10_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT10_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT10_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT10_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT10_INST01_L1SYNC_ENABLED

config PORT10_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT10_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT10_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT10_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT10_INST01_L1SYNC_ENABLED

config PORT10_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT10_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT10_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT10_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT10_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT10_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT10_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT10_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT10_INST01_EXTENSION_L1S || PORT10_INST01_EXTENSION_L1S_WR


endmenu # Port 10 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT10_INST01_T24P_TRANS_POINT
	int
	default 13350

endmenu

menu "PORT 11"

config PORT11_IFACE
	string "Network interface"
	default "wri11"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT11_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT11_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT11_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT11_INSTANCE_COUNT_1
	config PORT11_INSTANCE_COUNT_0
	  bool "0"
	config PORT11_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT11_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT11_INST01_PROTOCOL_RAW
    config PORT11_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT11_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT11_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT11_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.11"
	help
	  IP to be set on an interface assigned to this instance

config PORT11_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT11_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT11_INST01_MECHANISM_E2E
    config PORT11_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT11_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT11_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT11_INST01_PROFILE_KEEP_GLOBAL
	config PORT11_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT11_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT11_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT11_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT11_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT11_INST01_PROFILE_HA_WR \
		|| PORT11_INST01_PROFILE_CUSTOM
	default PORT11_INST01_EXTENSION_NONE if (PORT11_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT11_INST01_PROFILE_PTP
	default PORT11_INST01_EXTENSION_WR if (PORT11_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT11_INST01_PROFILE_HA_WR
	config PORT11_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT11_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT11_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT11_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT11_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT11_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT11_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT11_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT11_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT11_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT11_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT11_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT11_INST01_PROFILE_PTP \
		    || PORT11_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT11_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 240986
	help
	  Defines the transmission constant delay (ps)

config PORT11_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 280456
	help
	  Defines the reception constant delay (ps)

config PORT11_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT11_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT11_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT11_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT11_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT11_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT11_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT11_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT11_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT11_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT11_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT11_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT11_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT11_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT11_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT11_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT11_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT11_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT11_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT11_INST01_MECHANISM_E2E

config PORT11_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT11_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT11_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT11_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT11_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT11_INST01_MECHANISM_P2P

config PORT11_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT11_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT11_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT11_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT11_INST01_EXTENSION_L1S || PORT11_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT11_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT11_INST01_PROFILE_CUSTOM || (PORT11_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT11_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT11_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT11_INST01_PROFILE_CUSTOM || (PORT11_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT11_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT11_INST01_L1SYNC_ENABLED_OVERWRITE || PORT11_INST01_L1SYNC_ENABLED

config PORT11_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT11_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT11_INST01_L1SYNC_ENABLED_OVERWRITE || PORT11_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT11_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT11_INST01_L1SYNC_ENABLED_OVERWRITE || PORT11_INST01_L1SYNC_ENABLED

config PORT11_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT11_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT11_INST01_L1SYNC_ENABLED_OVERWRITE || PORT11_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT11_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT11_INST01_L1SYNC_ENABLED

config PORT11_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT11_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT11_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT11_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT11_INST01_L1SYNC_ENABLED

config PORT11_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT11_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT11_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT11_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT11_INST01_L1SYNC_ENABLED

config PORT11_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT11_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT11_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT11_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT11_INST01_L1SYNC_ENABLED

config PORT11_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT11_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT11_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT11_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT11_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT11_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT11_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT11_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT11_INST01_EXTENSION_L1S || PORT11_INST01_EXTENSION_L1S_WR


endmenu # Port 11 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT11_INST01_T24P_TRANS_POINT
	int
	default 11150

endmenu

menu "PORT 12"

config PORT12_IFACE
	string "Network interface"
	default "wri12"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT12_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT12_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT12_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT12_INSTANCE_COUNT_1
	config PORT12_INSTANCE_COUNT_0
	  bool "0"
	config PORT12_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT12_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT12_INST01_PROTOCOL_RAW
    config PORT12_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT12_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT12_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT12_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.12"
	help
	  IP to be set on an interface assigned to this instance

config PORT12_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT12_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT12_INST01_MECHANISM_E2E
    config PORT12_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT12_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT12_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT12_INST01_PROFILE_KEEP_GLOBAL
	config PORT12_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT12_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT12_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT12_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT12_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT12_INST01_PROFILE_HA_WR \
		|| PORT12_INST01_PROFILE_CUSTOM
	default PORT12_INST01_EXTENSION_NONE if (PORT12_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT12_INST01_PROFILE_PTP
	default PORT12_INST01_EXTENSION_WR if (PORT12_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT12_INST01_PROFILE_HA_WR
	config PORT12_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT12_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT12_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT12_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT12_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT12_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT12_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT12_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT12_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT12_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT12_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT12_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT12_INST01_PROFILE_PTP \
		    || PORT12_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT12_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 241876
	help
	  Defines the transmission constant delay (ps)

config PORT12_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 280824
	help
	  Defines the reception constant delay (ps)

config PORT12_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT12_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT12_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT12_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT12_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT12_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT12_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT12_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT12_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT12_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT12_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT12_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT12_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT12_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT12_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT12_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT12_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT12_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT12_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT12_INST01_MECHANISM_E2E

config PORT12_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT12_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT12_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT12_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT12_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT12_INST01_MECHANISM_P2P

config PORT12_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT12_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT12_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT12_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT12_INST01_EXTENSION_L1S || PORT12_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT12_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT12_INST01_PROFILE_CUSTOM || (PORT12_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT12_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT12_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT12_INST01_PROFILE_CUSTOM || (PORT12_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT12_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT12_INST01_L1SYNC_ENABLED_OVERWRITE || PORT12_INST01_L1SYNC_ENABLED

config PORT12_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT12_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT12_INST01_L1SYNC_ENABLED_OVERWRITE || PORT12_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT12_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT12_INST01_L1SYNC_ENABLED_OVERWRITE || PORT12_INST01_L1SYNC_ENABLED

config PORT12_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT12_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT12_INST01_L1SYNC_ENABLED_OVERWRITE || PORT12_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT12_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT12_INST01_L1SYNC_ENABLED

config PORT12_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT12_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT12_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT12_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT12_INST01_L1SYNC_ENABLED

config PORT12_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT12_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT12_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT12_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT12_INST01_L1SYNC_ENABLED

config PORT12_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT12_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT12_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT12_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT12_INST01_L1SYNC_ENABLED

config PORT12_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT12_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT12_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT12_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT12_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT12_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT12_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT12_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT12_INST01_EXTENSION_L1S || PORT12_INST01_EXTENSION_L1S_WR


endmenu # Port 12 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT12_INST01_T24P_TRANS_POINT
	int
	default 8500

endmenu

menu "PORT 13"

config PORT13_IFACE
	string "Network interface"
	default "wri13"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT13_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT13_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT13_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT13_INSTANCE_COUNT_1
	config PORT13_INSTANCE_COUNT_0
	  bool "0"
	config PORT13_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT13_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT13_INST01_PROTOCOL_RAW
    config PORT13_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT13_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT13_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT13_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.13"
	help
	  IP to be set on an interface assigned to this instance

config PORT13_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT13_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT13_INST01_MECHANISM_E2E
    config PORT13_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT13_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT13_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT13_INST01_PROFILE_KEEP_GLOBAL
	config PORT13_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT13_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT13_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT13_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT13_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT13_INST01_PROFILE_HA_WR \
		|| PORT13_INST01_PROFILE_CUSTOM
	default PORT13_INST01_EXTENSION_NONE if (PORT13_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT13_INST01_PROFILE_PTP
	default PORT13_INST01_EXTENSION_WR if (PORT13_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT13_INST01_PROFILE_HA_WR
	config PORT13_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT13_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT13_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT13_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT13_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT13_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT13_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT13_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT13_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT13_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT13_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT13_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT13_INST01_PROFILE_PTP \
		    || PORT13_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT13_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 227793
	help
	  Defines the transmission constant delay (ps)

config PORT13_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 231537
	help
	  Defines the reception constant delay (ps)

config PORT13_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT13_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT13_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT13_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT13_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT13_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT13_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT13_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT13_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT13_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT13_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT13_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT13_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT13_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT13_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT13_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT13_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT13_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT13_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT13_INST01_MECHANISM_E2E

config PORT13_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT13_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT13_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT13_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT13_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT13_INST01_MECHANISM_P2P

config PORT13_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT13_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT13_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT13_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT13_INST01_EXTENSION_L1S || PORT13_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT13_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT13_INST01_PROFILE_CUSTOM || (PORT13_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT13_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT13_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT13_INST01_PROFILE_CUSTOM || (PORT13_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT13_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT13_INST01_L1SYNC_ENABLED_OVERWRITE || PORT13_INST01_L1SYNC_ENABLED

config PORT13_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT13_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT13_INST01_L1SYNC_ENABLED_OVERWRITE || PORT13_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT13_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT13_INST01_L1SYNC_ENABLED_OVERWRITE || PORT13_INST01_L1SYNC_ENABLED

config PORT13_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT13_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT13_INST01_L1SYNC_ENABLED_OVERWRITE || PORT13_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT13_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT13_INST01_L1SYNC_ENABLED

config PORT13_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT13_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT13_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT13_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT13_INST01_L1SYNC_ENABLED

config PORT13_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT13_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT13_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT13_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT13_INST01_L1SYNC_ENABLED

config PORT13_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT13_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT13_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT13_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT13_INST01_L1SYNC_ENABLED

config PORT13_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT13_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT13_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT13_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT13_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT13_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT13_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT13_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT13_INST01_EXTENSION_L1S || PORT13_INST01_EXTENSION_L1S_WR


endmenu # Port 13 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT13_INST01_T24P_TRANS_POINT
	int
	default 14650

endmenu

menu "PORT 14"

config PORT14_IFACE
	string "Network interface"
	default "wri14"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT14_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT14_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT14_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT14_INSTANCE_COUNT_1
	config PORT14_INSTANCE_COUNT_0
	  bool "0"
	config PORT14_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT14_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT14_INST01_PROTOCOL_RAW
    config PORT14_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT14_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT14_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT14_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.14"
	help
	  IP to be set on an interface assigned to this instance

config PORT14_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT14_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT14_INST01_MECHANISM_E2E
    config PORT14_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT14_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT14_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT14_INST01_PROFILE_KEEP_GLOBAL
	config PORT14_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT14_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT14_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT14_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT14_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT14_INST01_PROFILE_HA_WR \
		|| PORT14_INST01_PROFILE_CUSTOM
	default PORT14_INST01_EXTENSION_NONE if (PORT14_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT14_INST01_PROFILE_PTP
	default PORT14_INST01_EXTENSION_WR if (PORT14_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT14_INST01_PROFILE_HA_WR
	config PORT14_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT14_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT14_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT14_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT14_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT14_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT14_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT14_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT14_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT14_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT14_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT14_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT14_INST01_PROFILE_PTP \
		    || PORT14_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT14_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 228023
	help
	  Defines the transmission constant delay (ps)

config PORT14_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 231569
	help
	  Defines the reception constant delay (ps)

config PORT14_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT14_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT14_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT14_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT14_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT14_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT14_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT14_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT14_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT14_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT14_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT14_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT14_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT14_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT14_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT14_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT14_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT14_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT14_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT14_INST01_MECHANISM_E2E

config PORT14_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT14_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT14_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT14_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT14_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT14_INST01_MECHANISM_P2P

config PORT14_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT14_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT14_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT14_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT14_INST01_EXTENSION_L1S || PORT14_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT14_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT14_INST01_PROFILE_CUSTOM || (PORT14_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT14_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT14_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT14_INST01_PROFILE_CUSTOM || (PORT14_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT14_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT14_INST01_L1SYNC_ENABLED_OVERWRITE || PORT14_INST01_L1SYNC_ENABLED

config PORT14_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT14_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT14_INST01_L1SYNC_ENABLED_OVERWRITE || PORT14_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT14_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT14_INST01_L1SYNC_ENABLED_OVERWRITE || PORT14_INST01_L1SYNC_ENABLED

config PORT14_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT14_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT14_INST01_L1SYNC_ENABLED_OVERWRITE || PORT14_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT14_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT14_INST01_L1SYNC_ENABLED

config PORT14_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT14_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT14_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT14_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT14_INST01_L1SYNC_ENABLED

config PORT14_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT14_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT14_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT14_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT14_INST01_L1SYNC_ENABLED

config PORT14_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT14_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT14_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT14_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT14_INST01_L1SYNC_ENABLED

config PORT14_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT14_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT14_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT14_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT14_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT14_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT14_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT14_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT14_INST01_EXTENSION_L1S || PORT14_INST01_EXTENSION_L1S_WR


endmenu # Port 14 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT14_INST01_T24P_TRANS_POINT
	int
	default 14850

endmenu

menu "PORT 15"

config PORT15_IFACE
	string "Network interface"
	default "wri15"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT15_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT15_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT15_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT15_INSTANCE_COUNT_1
	config PORT15_INSTANCE_COUNT_0
	  bool "0"
	config PORT15_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT15_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT15_INST01_PROTOCOL_RAW
    config PORT15_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT15_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT15_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT15_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.15"
	help
	  IP to be set on an interface assigned to this instance

config PORT15_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT15_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT15_INST01_MECHANISM_E2E
    config PORT15_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT15_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT15_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT15_INST01_PROFILE_KEEP_GLOBAL
	config PORT15_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT15_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT15_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT15_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT15_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT15_INST01_PROFILE_HA_WR \
		|| PORT15_INST01_PROFILE_CUSTOM
	default PORT15_INST01_EXTENSION_NONE if (PORT15_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT15_INST01_PROFILE_PTP
	default PORT15_INST01_EXTENSION_WR if (PORT15_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT15_INST01_PROFILE_HA_WR
	config PORT15_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT15_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT15_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT15_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT15_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT15_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT15_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT15_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT15_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT15_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT15_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT15_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT15_INST01_PROFILE_PTP \
		    || PORT15_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT15_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 228208
	help
	  Defines the transmission constant delay (ps)

config PORT15_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 235674
	help
	  Defines the reception constant delay (ps)

config PORT15_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT15_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT15_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT15_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT15_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT15_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT15_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT15_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT15_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT15_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT15_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT15_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT15_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT15_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT15_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT15_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT15_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT15_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT15_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT15_INST01_MECHANISM_E2E

config PORT15_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT15_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT15_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT15_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT15_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT15_INST01_MECHANISM_P2P

config PORT15_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT15_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT15_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT15_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT15_INST01_EXTENSION_L1S || PORT15_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT15_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT15_INST01_PROFILE_CUSTOM || (PORT15_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT15_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT15_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT15_INST01_PROFILE_CUSTOM || (PORT15_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT15_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT15_INST01_L1SYNC_ENABLED_OVERWRITE || PORT15_INST01_L1SYNC_ENABLED

config PORT15_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT15_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT15_INST01_L1SYNC_ENABLED_OVERWRITE || PORT15_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT15_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT15_INST01_L1SYNC_ENABLED_OVERWRITE || PORT15_INST01_L1SYNC_ENABLED

config PORT15_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT15_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT15_INST01_L1SYNC_ENABLED_OVERWRITE || PORT15_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT15_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT15_INST01_L1SYNC_ENABLED

config PORT15_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT15_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT15_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT15_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT15_INST01_L1SYNC_ENABLED

config PORT15_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT15_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT15_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT15_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT15_INST01_L1SYNC_ENABLED

config PORT15_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT15_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT15_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT15_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT15_INST01_L1SYNC_ENABLED

config PORT15_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT15_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT15_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT15_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT15_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT15_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT15_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT15_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT15_INST01_EXTENSION_L1S || PORT15_INST01_EXTENSION_L1S_WR


endmenu # Port 15 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT15_INST01_T24P_TRANS_POINT
	int
	default 11200

endmenu

menu "PORT 16"

config PORT16_IFACE
	string "Network interface"
	default "wri16"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT16_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT16_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT16_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT16_INSTANCE_COUNT_1
	config PORT16_INSTANCE_COUNT_0
	  bool "0"
	config PORT16_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT16_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT16_INST01_PROTOCOL_RAW
    config PORT16_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT16_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT16_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT16_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.16"
	help
	  IP to be set on an interface assigned to this instance

config PORT16_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT16_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT16_INST01_MECHANISM_E2E
    config PORT16_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT16_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT16_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT16_INST01_PROFILE_KEEP_GLOBAL
	config PORT16_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT16_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT16_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT16_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT16_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT16_INST01_PROFILE_HA_WR \
		|| PORT16_INST01_PROFILE_CUSTOM
	default PORT16_INST01_EXTENSION_NONE if (PORT16_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT16_INST01_PROFILE_PTP
	default PORT16_INST01_EXTENSION_WR if (PORT16_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT16_INST01_PROFILE_HA_WR
	config PORT16_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT16_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT16_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT16_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT16_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT16_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT16_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT16_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT16_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT16_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT16_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT16_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT16_INST01_PROFILE_PTP \
		    || PORT16_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT16_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 228362
	help
	  Defines the transmission constant delay (ps)

config PORT16_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 235918
	help
	  Defines the reception constant delay (ps)

config PORT16_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT16_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT16_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT16_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT16_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT16_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT16_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT16_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT16_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT16_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT16_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT16_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT16_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT16_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT16_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT16_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT16_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT16_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT16_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT16_INST01_MECHANISM_E2E

config PORT16_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT16_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT16_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT16_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT16_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT16_INST01_MECHANISM_P2P

config PORT16_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT16_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT16_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT16_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT16_INST01_EXTENSION_L1S || PORT16_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT16_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT16_INST01_PROFILE_CUSTOM || (PORT16_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT16_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT16_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT16_INST01_PROFILE_CUSTOM || (PORT16_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT16_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT16_INST01_L1SYNC_ENABLED_OVERWRITE || PORT16_INST01_L1SYNC_ENABLED

config PORT16_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT16_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT16_INST01_L1SYNC_ENABLED_OVERWRITE || PORT16_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT16_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT16_INST01_L1SYNC_ENABLED_OVERWRITE || PORT16_INST01_L1SYNC_ENABLED

config PORT16_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT16_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT16_INST01_L1SYNC_ENABLED_OVERWRITE || PORT16_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT16_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT16_INST01_L1SYNC_ENABLED

config PORT16_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT16_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT16_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT16_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT16_INST01_L1SYNC_ENABLED

config PORT16_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT16_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT16_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT16_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT16_INST01_L1SYNC_ENABLED

config PORT16_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT16_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT16_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT16_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT16_INST01_L1SYNC_ENABLED

config PORT16_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT16_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT16_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT16_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT16_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT16_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT16_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT16_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT16_INST01_EXTENSION_L1S || PORT16_INST01_EXTENSION_L1S_WR


endmenu # Port 16 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT16_INST01_T24P_TRANS_POINT
	int
	default 11000

endmenu

menu "PORT 17"

config PORT17_IFACE
	string "Network interface"
	default "wri17"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT17_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT17_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT17_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT17_INSTANCE_COUNT_1
	config PORT17_INSTANCE_COUNT_0
	  bool "0"
	config PORT17_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT17_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT17_INST01_PROTOCOL_RAW
    config PORT17_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT17_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT17_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT17_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.17"
	help
	  IP to be set on an interface assigned to this instance

config PORT17_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT17_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT17_INST01_MECHANISM_E2E
    config PORT17_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT17_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT17_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT17_INST01_PROFILE_KEEP_GLOBAL
	config PORT17_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT17_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT17_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT17_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT17_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT17_INST01_PROFILE_HA_WR \
		|| PORT17_INST01_PROFILE_CUSTOM
	default PORT17_INST01_EXTENSION_NONE if (PORT17_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT17_INST01_PROFILE_PTP
	default PORT17_INST01_EXTENSION_WR if (PORT17_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT17_INST01_PROFILE_HA_WR
	config PORT17_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT17_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT17_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT17_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT17_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT17_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT17_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT17_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT17_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT17_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT17_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT17_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT17_INST01_PROFILE_PTP \
		    || PORT17_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT17_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 228608
	help
	  Defines the transmission constant delay (ps)

config PORT17_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 231252
	help
	  Defines the reception constant delay (ps)

config PORT17_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT17_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT17_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT17_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT17_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT17_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT17_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT17_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT17_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT17_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT17_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT17_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT17_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT17_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT17_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT17_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT17_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT17_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT17_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT17_INST01_MECHANISM_E2E

config PORT17_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT17_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT17_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT17_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT17_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT17_INST01_MECHANISM_P2P

config PORT17_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT17_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT17_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT17_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT17_INST01_EXTENSION_L1S || PORT17_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT17_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT17_INST01_PROFILE_CUSTOM || (PORT17_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT17_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT17_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT17_INST01_PROFILE_CUSTOM || (PORT17_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT17_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT17_INST01_L1SYNC_ENABLED_OVERWRITE || PORT17_INST01_L1SYNC_ENABLED

config PORT17_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT17_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT17_INST01_L1SYNC_ENABLED_OVERWRITE || PORT17_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT17_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT17_INST01_L1SYNC_ENABLED_OVERWRITE || PORT17_INST01_L1SYNC_ENABLED

config PORT17_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT17_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT17_INST01_L1SYNC_ENABLED_OVERWRITE || PORT17_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT17_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT17_INST01_L1SYNC_ENABLED

config PORT17_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT17_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT17_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT17_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT17_INST01_L1SYNC_ENABLED

config PORT17_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT17_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT17_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT17_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT17_INST01_L1SYNC_ENABLED

config PORT17_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT17_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT17_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT17_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT17_INST01_L1SYNC_ENABLED

config PORT17_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT17_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT17_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT17_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT17_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT17_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT17_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT17_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT17_INST01_EXTENSION_L1S || PORT17_INST01_EXTENSION_L1S_WR


endmenu # Port 17 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT17_INST01_T24P_TRANS_POINT
	int
	default 14150

endmenu

menu "PORT 18"

config PORT18_IFACE
	string "Network interface"
	default "wri18"
	help
	  Used to set the physical port interface name: "wri[1-18]"

config PORT18_IFACE_DOWN_AFTER_BOOT
	bool "Keep interface down after startup"
	help
	  Don't bring up the network interface after startup.
	  The interface can be brought up later by e.g. ifconfig command.

config PORT18_FIBER
	int  "Fiber type"
	default 0
	help
	  Used to set the type of fiber (number referring to the corresponding 
	  FIBERXX_PARAMS)

config PORT18_CONSTANT_ASYMMETRY
	int "asymmetryCorrectionPortDS.constantAsymmetry"
	default 0
	help
	   Used to set the constant delay asymmetry.

choice
	prompt "Number of port instances"
	default PORT18_INSTANCE_COUNT_1
	config PORT18_INSTANCE_COUNT_0
	  bool "0"
	config PORT18_INSTANCE_COUNT_1
	  bool "1"
endchoice

menu "Instance 1"
	depends on PORT18_INSTANCE_COUNT_1

choice
    prompt "Network protocol"
    default PORT18_INST01_PROTOCOL_RAW
    config PORT18_INST01_PROTOCOL_RAW
        bool "IEEE 802.3"
    config PORT18_INST01_PROTOCOL_UDP_IPV4
        bool "UDP/Ipv4"
endchoice

config PORT18_INST01_IFACE_IP_ADDR
	string "IP address"
	depends on PORT18_INST01_PROTOCOL_UDP_IPV4
	default "192.168.100.18"
	help
	  IP to be set on an interface assigned to this instance

config PORT18_INST01_IFACE_IP_MASK
	string "Mask"
	depends on PORT18_INST01_PROTOCOL_UDP_IPV4
	default "255.255.255.0"
	help
	  IP mask to be set on an interface assigned to this instance

choice
    prompt "Delay mechanism"
    default PORT18_INST01_MECHANISM_E2E
    config PORT18_INST01_MECHANISM_E2E
        bool "End-to-end"
    config PORT18_INST01_MECHANISM_P2P
        bool "Peer-to-peer"
endchoice

config PORT18_INST01_MONITOR
	bool "SNMP monitoring"
	default y
	help
	  Option to disable or enable triggering errors in SNMP on a port

choice
	prompt "PTP Profile"
	default PORT18_INST01_PROFILE_KEEP_GLOBAL
	config PORT18_INST01_PROFILE_KEEP_GLOBAL
		bool "Keep global"
	config PORT18_INST01_PROFILE_PTP
		bool "Default (IEEE 1588)"
	config PORT18_INST01_PROFILE_HA_WR
		bool "White Rabbit / High-Accuracy (IEEE 1588)"
	config PORT18_INST01_PROFILE_CUSTOM
		bool "Custom"
endchoice

choice
	prompt "Extensions configuration"
	depends on \
		(PORT18_INST01_PROFILE_KEEP_GLOBAL \
			&& (GLOBAL_PROFILE_HA_WR \
			    || GLOBAL_PROFILE_CUSTOM) \
		) \
		|| PORT18_INST01_PROFILE_HA_WR \
		|| PORT18_INST01_PROFILE_CUSTOM
	default PORT18_INST01_EXTENSION_NONE if (PORT18_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) || PORT18_INST01_PROFILE_PTP
	default PORT18_INST01_EXTENSION_WR if (PORT18_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_HA_WR) || PORT18_INST01_PROFILE_HA_WR
	config PORT18_INST01_EXTENSION_NONE
		bool "None"
		help
		  Don't use extensions.
	config PORT18_INST01_EXTENSION_WR
		bool "WR only"
		help
		  Use White Rabbit extension.
	config PORT18_INST01_EXTENSION_L1S
		bool "HA/L1Sync only"
		help
		  Use HA/L1Sync extension.
	config PORT18_INST01_EXTENSION_L1S_WR
		bool "HA/L1Sync with WR fallback (autonegotiation)"
		help
		  Use HA/L1Sync and White Rabbit extension. HA/L1Sync is
		  preffered. If a peer does not support HA/L1Sync this instance
		  can use White Rabbit.
endchoice

choice
	prompt "Desired state"
	depends on PTP_OPT_BMCA_EXT_PORT_CONFIG
	default PORT18_INST01_DESIRADE_STATE_MASTER
	help
	  Define a desied state if External Port Configuration is used (BMCA is
	  disabled).
	config PORT18_INST01_DESIRADE_STATE_MASTER
		bool "Master"
	config PORT18_INST01_DESIRADE_STATE_SLAVE
		bool "Slave"
		depends on !TIME_GM
	config PORT18_INST01_DESIRADE_STATE_PASSIVE
		bool "Passive"
endchoice

config PORT18_INST01_BMODE_MASTER_ONLY
	bool "portDS.masterOnly"
	depends on !PTP_OPT_BMCA_EXT_PORT_CONFIG
	default y if TIME_GM
	default n
	help
	  Use reduced state machine, that can reach only master state.

config PORT18_INST01_ASYMMETRY_CORRECTION_ENABLE
	bool "asymmetryCorrectionPortDS.enable"
	depends on (PORT18_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_PTP) \
		    || (PORT18_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		    || PORT18_INST01_PROFILE_PTP \
		    || PORT18_INST01_PROFILE_CUSTOM
	default y
	help
	  When supported, the value TRUE shall indicate that the mechanism of for the calculation
	  of the <delayAsymmetry> for certain media is enabled on the PTP port.

config PORT18_INST01_EGRESS_LATENCY
	int "timestampCorrectionPortDS.egressLatency (ps)"
	default 228740
	help
	  Defines the transmission constant delay (ps)

config PORT18_INST01_INGRESS_LATENCY
	int "timestampCorrectionPortDS.ingressLatency (ps)"
	default 230680
	help
	  Defines the reception constant delay (ps)

config PORT18_INST01_T24P_TRANS_POINT
	int "timestampCorrectionPortDS.t24p_trans_point (ps)"
	help
	  Defines the phase transition point for reception timestamps t2/t4 (ps)

config PORT18_INST01_PTP_VERSION_OVERWRITE
	bool "Force PTP version"
	depends on PTP_OPT_PTP_VERSION_OVERWRITE
	help
	  Force the PTP version used by this instance.
	  If this option is not set, the PTP version is set based on the used
	  extension (not profile!).
	  See help of PTP_OPT_PTP_VERSION_OVERWRITE.

choice
	prompt "PTP version"
	depends on PORT18_INST01_PTP_VERSION_OVERWRITE
	help
	  Define PTP version used by this instance.
	config PORT18_INST01_PTP_VERSION_2_0
		bool "v2.0 (IEEE1588-2008)"
	config PORT18_INST01_PTP_VERSION_2_1
		bool "v2.1 (IEEE1588-2019)"
endchoice

config PORT18_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	bool "Overwrite default logAnnounceInterval"

config PORT18_INST01_ANNOUNCE_INTERVAL
	int "logAnnounceInterval" if PORT18_INST01_ANNOUNCE_INTERVAL_OVERWRITE
	default 1
	range -6 4 if (PORT18_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT18_INST01_PROFILE_CUSTOM
	range 0 4
	help
	  The mean time interval between transmissions of successive
	  Announce messages. The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 4.

config PORT18_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default announceReceiptTimeout"

config PORT18_INST01_ANNOUNCE_RECEIPT_TIMEOUT
	int "announceReceiptTimeout" if PORT18_INST01_ANNOUNCE_RECEIPT_TIMEOUT_OVERWRITE
	default 3
	range 2 255
	help
	  The announceReceiptTimeout specifies the number of announceIntervals
	  that must pass without receipt of an Announce message before the
	  occurrence of the event ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 255

config PORT18_INST01_SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default logSyncInterval"

config PORT18_INST01_SYNC_INTERVAL
	int "logSyncInterval" if PORT18_INST01_SYNC_INTERVAL_OVERWRITE
	default 0
	range -6 1 if (PORT18_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT18_INST01_PROFILE_CUSTOM
	range -1 1
	help
	  The mean time interval between transmission of successive
	  Sync messages, i.e., the sync-interval, when transmitted
	  as multicast messages. The value is the logarithm to the base 2.
	  The configurable range shall be -1 to +1

config PORT18_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minDelayRequestInterval"
	depends on PORT18_INST01_MECHANISM_E2E

config PORT18_INST01_MIN_DELAY_REQ_INTERVAL
	int "minDelayRequestInterval" if PORT18_INST01_MIN_DELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT18_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT18_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Delay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5

config PORT18_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	bool "Overwrite default minPDelayRequestInterval"
	depends on PORT18_INST01_MECHANISM_P2P

config PORT18_INST01_MIN_PDELAY_REQ_INTERVAL
	int "minPDelayRequestInterval" if PORT18_INST01_MIN_PDELAY_REQ_INTERVAL_OVERWRITE
	default 0
	range -6 5 if (PORT18_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM) \
		      || PORT18_INST01_PROFILE_CUSTOM
	range 0 5
	help
	  The minPDelayRequestInterval specifies the minimum permitted
	  mean time interval between successive Pdelay_Req messages.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 0 to 5
# Use following options if L1Sync or extension autonegotiation is enabled

if PORT18_INST01_EXTENSION_L1S || PORT18_INST01_EXTENSION_L1S_WR

# L1SYNC_ENABLED and its dependencies can be changed only for CUSTOM profile
comment "Options specific to L1Sync"


config PORT18_INST01_L1SYNC_ENABLED_OVERWRITE
	bool "Overwrite default value for enabling L1Sync (only for Custom profile)"
	depends on (PORT18_INST01_PROFILE_CUSTOM || (PORT18_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))

config PORT18_INST01_L1SYNC_ENABLED
	bool "L1SyncBasicPortDS.L1SyncEnabled" if PORT18_INST01_L1SYNC_ENABLED_OVERWRITE
	depends on (PORT18_INST01_PROFILE_CUSTOM || (PORT18_INST01_PROFILE_KEEP_GLOBAL && GLOBAL_PROFILE_CUSTOM))
	default y
	help
	  This parameter specifies whether the L1Sync option is enabled on the PTP Port. If
	  L1SyncEnabled is TRUE, then the L1Sync message exchange is supported and enabled.
	  Used only for Custom profile.


config PORT18_INST01_L1SYNC_INTERVAL_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.logL1SyncInterval"
	depends on !PORT18_INST01_L1SYNC_ENABLED_OVERWRITE || PORT18_INST01_L1SYNC_ENABLED

config PORT18_INST01_L1SYNC_INTERVAL
	int "L1SyncBasicPortDS.logL1SyncInterval" if PORT18_INST01_L1SYNC_INTERVAL_OVERWRITE
	depends on !PORT18_INST01_L1SYNC_ENABLED_OVERWRITE || PORT18_INST01_L1SYNC_ENABLED
	default 0
	range -4 4
	help
	  The L1Sync interval specifies the time interval
	  between successive periodic L1_SYNC TLV.
	  The value is the logarithm to the base 2.
	  The configurable range shall be -4 to 4.


config PORT18_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.L1SyncReceiptTimeout"
	depends on !PORT18_INST01_L1SYNC_ENABLED_OVERWRITE || PORT18_INST01_L1SYNC_ENABLED

config PORT18_INST01_L1SYNC_RECEIPT_TIMEOUT
	int "L1SyncBasicPortDS.L1SyncReceiptTimeout" if PORT18_INST01_L1SYNC_RECEIPT_TIMEOUT_OVERWRITE
	depends on !PORT18_INST01_L1SYNC_ENABLED_OVERWRITE || PORT18_INST01_L1SYNC_ENABLED
	default 3
	range 2 10
	help
	  The value of L1SyncReceiptTimeout specifies the number of elapsed
	  L1SyncIntervals that must pass without reception of the L1_SYNC TLV
	  before the L1_SYNC TLV reception timeout occurs.
	  The value is the logarithm to the base 2.
	  The configurable range shall be 2 to 10


config PORT18_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT18_INST01_L1SYNC_ENABLED

config PORT18_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.txCoherentIsRequired" if PORT18_INST01_L1SYNC_TX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT18_INST01_L1SYNC_ENABLED
	default y
	help
	   The Boolean attribute txCoherentIsRequired specifies the configuration of the L1Sync port and the
	   expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	   required to be a transmit coherent port.


config PORT18_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.rxCoherentIsRequired"
	depends on PORT18_INST01_L1SYNC_ENABLED

config PORT18_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.rxCoherentIsRequired" if PORT18_INST01_L1SYNC_RX_COHERENT_IS_REQUIRED_OVERWRITE
	depends on PORT18_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute rxCoherentIsRequired specifies the configuration of the L1Sync port and the
	  expected configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is
	  required to be a receive coherent port.


config PORT18_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.congruentIsRequired"
	depends on PORT18_INST01_L1SYNC_ENABLED

config PORT18_INST01_L1SYNC_CONGRUENT_IS_REQUIRED
	bool "L1SyncBasicPortDS.congruentIsRequired" if PORT18_INST01_L1SYNC_CONGRUENT_IS_REQUIRED_OVERWRITE
	depends on PORT18_INST01_L1SYNC_ENABLED
	default y
	help
	  The Boolean attribute congruentIsRequired specifies configuration of the L1Sync port and the expected
	  configuration of its peer L1Sync port. This configuration indicates whether the L1Sync port is required to
	  be a congruent port


config PORT18_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.optParamsEnabled"
	depends on PORT18_INST01_L1SYNC_ENABLED

config PORT18_INST01_L1SYNC_OPT_PARAMS_ENABLED
	bool "L1SyncBasicPortDS.optParamsEnabled" if PORT18_INST01_L1SYNC_OPT_PARAMS_ENABLED_OVERWRITE
	depends on PORT18_INST01_L1SYNC_ENABLED
	default n
	help
	  The Boolean attribute optParamsEnabled specifies whether the L1Sync port transmitting the L1_SYNC
	  TLV extends this TLV with the information about the optional parameters.


config PORT18_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	bool "Overwrite default L1SyncBasicPortDS.txCoherentIsRequired"
	depends on PORT18_INST01_L1SYNC_OPT_PARAMS_ENABLED

config PORT18_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED
	bool "L1SyncBasicPortDS.timestampsCorrectedTx" if PORT18_INST01_L1SYNC_OPT_PARAMS_TS_CORRECTED_TX_ENABLED_OVERWRITE
	depends on PORT18_INST01_L1SYNC_OPT_PARAMS_ENABLED
	default n
	help
	  When L1SyncOptParamsPortDS.timestampsCorrectedTx is TRUE,
	  the L1Sync port shall correct the transmitted egress timestamps with
	  the known value of the phase offset.

endif # PORT18_INST01_EXTENSION_L1S || PORT18_INST01_EXTENSION_L1S_WR


endmenu # Port 18 Instance 1

# Keep T24P_TRANS_POINT also for ports without instances
config PORT18_INST01_T24P_TRANS_POINT
	int
	default 14900

endmenu
