63 #ifndef __RPMSG_KDRV_TRANSPORT_ETHSWITCH_H__ 64 #define __RPMSG_KDRV_TRANSPORT_ETHSWITCH_H__ 66 #include <protocol/rpmsg-kdrv-transport-common.h> 96 #define RPMSG_KDRV_TP_ETHSWITCH_VERSION_MAJOR (0) 98 #define RPMSG_KDRV_TP_ETHSWITCH_VERSION_MINOR (1) 100 #define RPMSG_KDRV_TP_ETHSWITCH_VERSION_REVISION (1) 488 #define RPMSG_KDRV_TP_ETHSWITCH_CMDSTATUS_OK (0) 494 #define RPMSG_KDRV_TP_ETHSWITCH_CMDSTATUS_EAGAIN (-1) 496 #define RPMSG_KDRV_TP_ETHSWITCH_CMDSTATUS_EFAIL (-2) 501 #define RPMSG_KDRV_TP_ETHSWITCH_CMDSTATUS_EACCESS (-3) 509 #define RPMSG_KDRV_TP_ETHSWITCH_MESSAGE_DATA_LEN (128) 514 #define RPMSG_KDRV_TP_ETHSWITCH_IOCTL_INARGS_LEN (128) 519 #define RPMSG_KDRV_TP_ETHSWITCH_IOCTL_OUTARGS_LEN (128) 525 #define RPMSG_KDRV_TP_ETHSWITCH_CPSW_PRIORITY_NUM (8) 530 #define RPMSG_KDRV_TP_ETHSWITCH_MACADDRLEN (6) 535 #define RPMSG_KDRV_TP_ETHSWITCH_IPV4ADDRLEN (4) 540 #define RPMSG_KDRV_TP_ETHSWITCH_IPV6ADDRLEN (16) 548 #define RPMSG_KDRV_TP_ETHSWITCH_FEATURE_TXCSUM (1 << 0) 554 #define RPMSG_KDRV_TP_ETHSWITCH_YEARLEN (4) 559 #define RPMSG_KDRV_TP_ETHSWITCH_MONTHLEN (3) 564 #define RPMSG_KDRV_TP_ETHSWITCH_DATELEN (2) 569 #define RPMSG_KDRV_TP_ETHSWITCH_COMMITSHALEN (8) u32 alloc_flow_idx
Definition: rpmsg-kdrv-transport-ethswitch.h:663
#define RPMSG_KDRV_TP_ETHSWITCH_YEARLEN
Definition: rpmsg-kdrv-transport-ethswitch.h:554
CMD to detach remote core from the ethernet switch device.
Definition: rpmsg-kdrv-transport-ethswitch.h:270
char date[RPMSG_KDRV_TP_ETHSWITCH_DATELEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:132
Definition: rpmsg-kdrv-transport-ethswitch.h:472
UnRegister Remote timer CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1169
IOCTL CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:909
Definition: rpmsg-kdrv-transport-ethswitch.h:603
u32 inargs_len
Definition: rpmsg-kdrv-transport-ethswitch.h:918
u32 tx_mtu[RPMSG_KDRV_TP_ETHSWITCH_CPSW_PRIORITY_NUM]
Definition: rpmsg-kdrv-transport-ethswitch.h:134
Register MAC address CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:752
Definition: rpmsg-kdrv-transport-ethswitch.h:461
u32 minor
Definition: rpmsg-kdrv-transport-ethswitch.h:1183
uint8_t ipv4_addr[RPMSG_KDRV_TP_ETHSWITCH_IPV4ADDRLEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:131
CMD to allocate Tx channel.
Definition: rpmsg-kdrv-transport-ethswitch.h:151
CMD to attach to the ethernet switch remote device.
Definition: rpmsg-kdrv-transport-ethswitch.h:125
CMD to register a DST MAC addr by the remote core client to a specific rx flow id.
Definition: rpmsg-kdrv-transport-ethswitch.h:199
Register Remote timer CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1147
u32 notify_info_len
Definition: rpmsg-kdrv-transport-ethswitch.h:1278
Free Tx Channel CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:823
struct rpmsg_kdrv_ethswitch_firmware_version_info fw_ver
Definition: rpmsg-kdrv-transport-ethswitch.h:122
u32 tx_cpsw_psil_dst_id
Definition: rpmsg-kdrv-transport-ethswitch.h:713
Register IPv6:MAC Address mapping CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1029
char commit_hash[RPMSG_KDRV_TP_ETHSWITCH_COMMITSHALEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:134
Definition: rpmsg-kdrv-transport-ethswitch.h:583
Definition: rpmsg-kdrv-transport-ethswitch.h:463
Unregister IPv6:MAC Address mapping CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1073
u8 timer_id
Definition: rpmsg-kdrv-transport-ethswitch.h:1139
u32 alloc_flow_idx
Definition: rpmsg-kdrv-transport-ethswitch.h:874
u32 features
Definition: rpmsg-kdrv-transport-ethswitch.h:631
Register Remote timer CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1132
CMD to unregister remote timer with ethfw for time synchronization.
Definition: rpmsg-kdrv-transport-ethswitch.h:446
rpmsg_kdrv_ethswitch_cpsw_type
CPSW Type supported by Ethernet Switch Remote Device.
Definition: rpmsg-kdrv-transport-ethswitch.h:456
Notify CMD from remote device server to client.
Definition: rpmsg-kdrv-transport-ethswitch.h:386
u32 regval
Definition: rpmsg-kdrv-transport-ethswitch.h:946
CMD to remove IPv4 address: MAC address mapping.
Definition: rpmsg-kdrv-transport-ethswitch.h:350
Ethernet Switch Remote Device Data.
Definition: rpmsg-kdrv-transport-ethswitch.h:1202
Unregister Default Flow CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:845
u32 default_flow_idx
Definition: rpmsg-kdrv-transport-ethswitch.h:737
u32 rx_mtu
Definition: rpmsg-kdrv-transport-ethswitch.h:657
Ethernet Switch Remote Device Client to Server Notify.
Definition: rpmsg-kdrv-transport-ethswitch.h:1269
Register Ethertype CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1083
#define RPMSG_KDRV_TP_ETHSWITCH_MONTHLEN
Definition: rpmsg-kdrv-transport-ethswitch.h:559
CMD to register a remote timer with ethfw for time synchronization.
Definition: rpmsg-kdrv-transport-ethswitch.h:436
CMD to invoke CPSW LLD IOCTL from remote core.
Definition: rpmsg-kdrv-transport-ethswitch.h:283
Detach CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:889
u32 tx_cpsw_psil_dst_id
Definition: rpmsg-kdrv-transport-ethswitch.h:830
Definition: rpmsg-kdrv-transport-ethswitch.h:477
u32 major
Definition: rpmsg-kdrv-transport-ethswitch.h:1181
Free Rx Flow CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:867
CMD to read from a specific register from remote core.
Definition: rpmsg-kdrv-transport-ethswitch.h:307
Unregister IPv4:MAC Address mapping CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1064
Unregister IPv4:MAC Address mapping CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1038
Unregister IPv6:MAC Address mapping CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1051
struct rpmsg_kdrv_ethswitch_message_header __attribute__((packed))
Definition: rpmsg-kdrv-transport-ethswitch.h:637
CMD to allocate Rx flow.
Definition: rpmsg-kdrv-transport-ethswitch.h:162
CMD to request remote device to respond to ping request from client.
Definition: rpmsg-kdrv-transport-ethswitch.h:374
u32 core_key
Definition: rpmsg-kdrv-transport-ethswitch.h:625
Register MAC address CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:767
Free MAC address CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:801
u32 core_key
Definition: rpmsg-kdrv-transport-ethswitch.h:655
UnRegister MAC address CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:792
struct rpmsg_kdrv_ethswitch_message_header header
Definition: rpmsg-kdrv-transport-ethswitch.h:122
Notify CMD from remote device client to server.
Definition: rpmsg-kdrv-transport-ethswitch.h:398
u64 id
Definition: rpmsg-kdrv-transport-ethswitch.h:586
Definition: rpmsg-kdrv-transport-ethswitch.h:594
u32 regaddr
Definition: rpmsg-kdrv-transport-ethswitch.h:968
u32 cmd
Definition: rpmsg-kdrv-transport-ethswitch.h:916
Definition: rpmsg-kdrv-transport-ethswitch.h:614
Free MAC address CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:814
CMD to register a Ethertype by the remote core client to a specific rx flow id.
Definition: rpmsg-kdrv-transport-ethswitch.h:410
u16 ether_type
Definition: rpmsg-kdrv-transport-ethswitch.h:1115
Register Read CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:974
#define RPMSG_KDRV_TP_ETHSWITCH_MESSAGE_DATA_LEN
Definition: rpmsg-kdrv-transport-ethswitch.h:509
Alloc Tx channel CMD response msg.
Definition: rpmsg-kdrv-transport-ethswitch.h:705
rpmsg_kdrv_ethswitch_message_type
Ethernet Switch Remote Device commands.
Definition: rpmsg-kdrv-transport-ethswitch.h:114
Detach CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:900
Firmware version info returned by remote device attach to the ethernet switch device.
Definition: rpmsg-kdrv-transport-ethswitch.h:1178
char month[RPMSG_KDRV_TP_ETHSWITCH_MONTHLEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:130
u32 regaddr
Definition: rpmsg-kdrv-transport-ethswitch.h:944
uint8_t ipv6_addr[RPMSG_KDRV_TP_ETHSWITCH_IPV6ADDRLEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:130
#define RPMSG_KDRV_TP_ETHSWITCH_MACADDRLEN
Definition: rpmsg-kdrv-transport-ethswitch.h:530
Register IPv6:MAC Address mapping CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1003
CMD to attach to the ethernet switch remote device which returns extended attach info.
Definition: rpmsg-kdrv-transport-ethswitch.h:140
#define RPMSG_KDRV_TP_ETHSWITCH_IOCTL_OUTARGS_LEN
Definition: rpmsg-kdrv-transport-ethswitch.h:519
Definition: rpmsg-kdrv-transport-ethswitch.h:479
u32 flow_idx
Definition: rpmsg-kdrv-transport-ethswitch.h:1117
u8 data[RPMSG_KDRV_TP_ETHSWITCH_MESSAGE_DATA_LEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:124
CMD to unregister a Ethertype by the remote core client.
Definition: rpmsg-kdrv-transport-ethswitch.h:424
Alloc request CMD params.
Definition: rpmsg-kdrv-transport-ethswitch.h:694
u8 notify_info[RPMSG_KDRV_TP_ETHSWITCH_MESSAGE_DATA_LEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:130
u32 features
Definition: rpmsg-kdrv-transport-ethswitch.h:661
UnRegister Ethertype CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1123
Definition: rpmsg-kdrv-transport-ethswitch.h:648
u64 id
Definition: rpmsg-kdrv-transport-ethswitch.h:653
u32 regval
Definition: rpmsg-kdrv-transport-ethswitch.h:957
Alloc request CMD params.
Definition: rpmsg-kdrv-transport-ethswitch.h:683
u32 uart_connected
Definition: rpmsg-kdrv-transport-ethswitch.h:1212
u32 alloc_flow_idx
Definition: rpmsg-kdrv-transport-ethswitch.h:699
CMD to write to a specific register from remote core.
Definition: rpmsg-kdrv-transport-ethswitch.h:295
#define RPMSG_KDRV_TP_ETHSWITCH_COMMITSHALEN
Definition: rpmsg-kdrv-transport-ethswitch.h:569
u32 core_key
Definition: rpmsg-kdrv-transport-ethswitch.h:588
Alloc MAC CMD response msg.
Definition: rpmsg-kdrv-transport-ethswitch.h:719
u32 regval
Definition: rpmsg-kdrv-transport-ethswitch.h:979
u8 hwPushNum
Definition: rpmsg-kdrv-transport-ethswitch.h:1141
Register Rx Default flow CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:730
u32 outargs_len
Definition: rpmsg-kdrv-transport-ethswitch.h:922
CMD to unregister default flow routing to the remote core.
Definition: rpmsg-kdrv-transport-ethswitch.h:226
CMD to register default flow from remote core.
Definition: rpmsg-kdrv-transport-ethswitch.h:176
#define RPMSG_KDRV_TP_ETHSWITCH_CPSW_PRIORITY_NUM
Definition: rpmsg-kdrv-transport-ethswitch.h:525
u8 cpsw_type
Definition: rpmsg-kdrv-transport-ethswitch.h:642
CMD to allocate a DST MAC addr to the remote core client.
Definition: rpmsg-kdrv-transport-ethswitch.h:187
u32 flow_idx
Definition: rpmsg-kdrv-transport-ethswitch.h:786
Ethernet Switch Remote Device Ping Request.
Definition: rpmsg-kdrv-transport-ethswitch.h:1225
Ethernet Switch Remote Device Ping Response.
Definition: rpmsg-kdrv-transport-ethswitch.h:1236
u32 default_flow_idx
Definition: rpmsg-kdrv-transport-ethswitch.h:852
u32 flow_idx
Definition: rpmsg-kdrv-transport-ethswitch.h:761
Unregister Default Flow CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:858
u8 outargs[RPMSG_KDRV_TP_ETHSWITCH_IOCTL_OUTARGS_LEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:124
UnRegister MAC address CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:777
Ethernet Switch Remote Device Server to Client Notify.
Definition: rpmsg-kdrv-transport-ethswitch.h:1250
u8 inargs[RPMSG_KDRV_TP_ETHSWITCH_IOCTL_INARGS_LEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:130
u32 uart_id
Definition: rpmsg-kdrv-transport-ethswitch.h:1214
CMD to associate IPv6 address with MAC address.
Definition: rpmsg-kdrv-transport-ethswitch.h:339
u32 permission_flags
Definition: rpmsg-kdrv-transport-ethswitch.h:1210
IOCTL CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:928
rpmsg_kdrv_ethswitch_client_notify_type
Etheret Remote Device Client to Server notify types.
Definition: rpmsg-kdrv-transport-ethswitch.h:469
u8 hwPushNum
Definition: rpmsg-kdrv-transport-ethswitch.h:1163
s32 status
Definition: rpmsg-kdrv-transport-ethswitch.h:597
u32 rev
Definition: rpmsg-kdrv-transport-ethswitch.h:1185
Register IPv4:MAC Address mapping CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:985
u8 notifyid
Definition: rpmsg-kdrv-transport-ethswitch.h:1276
Register Write CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:952
#define RPMSG_KDRV_TP_ETHSWITCH_DATELEN
Definition: rpmsg-kdrv-transport-ethswitch.h:564
#define RPMSG_KDRV_TP_ETHSWITCH_IOCTL_INARGS_LEN
Definition: rpmsg-kdrv-transport-ethswitch.h:514
u8 cpsw_type
Definition: rpmsg-kdrv-transport-ethswitch.h:608
struct rpmsg_kdrv_ethswitch_common_response_info info
Definition: rpmsg-kdrv-transport-ethswitch.h:122
Max value of Ethernet Switch Remote Device. For internal use only.
Definition: rpmsg-kdrv-transport-ethswitch.h:450
Register IPv4:MAC Address mapping CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1020
#define RPMSG_KDRV_TP_ETHSWITCH_IPV6ADDRLEN
Definition: rpmsg-kdrv-transport-ethswitch.h:540
Free Rx Flow CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:880
Definition: rpmsg-kdrv-transport-ethswitch.h:459
Register Ethertype CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1098
CMD to unregister a DST MAC addr by the remote core client.
Definition: rpmsg-kdrv-transport-ethswitch.h:213
CMD to free previously allocated rx flow id.
Definition: rpmsg-kdrv-transport-ethswitch.h:259
Register Write CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:939
UnRegister Remote timer CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1156
CMD to remove IPv6 address: MAC address mapping.
Definition: rpmsg-kdrv-transport-ethswitch.h:361
CMD to associate IPv4 address with MAC address.
Definition: rpmsg-kdrv-transport-ethswitch.h:323
Register Rx Default flow CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:743
u32 rx_mtu
Definition: rpmsg-kdrv-transport-ethswitch.h:627
CMD to free previously allocated mac addr.
Definition: rpmsg-kdrv-transport-ethswitch.h:237
UnRegister Ethertype CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:1108
CMD to free previously allocated tx channel CPSW PSIL destination thread.
Definition: rpmsg-kdrv-transport-ethswitch.h:248
u32 tx_cpsw_psil_dst_id
Definition: rpmsg-kdrv-transport-ethswitch.h:668
u8 mac_address[RPMSG_KDRV_TP_ETHSWITCH_MACADDRLEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:141
u16 ether_type
Definition: rpmsg-kdrv-transport-ethswitch.h:1090
#define RPMSG_KDRV_TP_ETHSWITCH_IPV4ADDRLEN
Definition: rpmsg-kdrv-transport-ethswitch.h:535
u32 flow_idx
Definition: rpmsg-kdrv-transport-ethswitch.h:1092
Free Tx Channel CMD response params.
Definition: rpmsg-kdrv-transport-ethswitch.h:836
Register Read CMD request params.
Definition: rpmsg-kdrv-transport-ethswitch.h:963
char year[RPMSG_KDRV_TP_ETHSWITCH_YEARLEN]
Definition: rpmsg-kdrv-transport-ethswitch.h:128
u64 id
Definition: rpmsg-kdrv-transport-ethswitch.h:621