12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- syntax = "proto3";
- package sys;
- import "Common.proto";
- import "GPIO.proto";
- import "nanopb.proto";
- import "customoptions.proto";
- option (nanopb_fileopt).enum_to_string = true;
- enum EthModelEnum {
- UNSPECIFIED_ETHMODEL = 0;
- LAN8720 = 1;
- DM9051 = 2;
- W5500 = 3;
- }
- enum EthType { // This enum is used to define the union type for Eth
- UNSPECIFIED_ETH = 0; // for unspecified type
- SPI = 1;
- RMII = 2;
- }
- message EthCommon {
- option (nanopb_msgopt).msgid = 10025;
- EthModelEnum model = 1;
- GPIO rst = 2;
- }
- // SPI Specific Ethernet definitions
- message EthSPI {
- option (nanopb_msgopt).msgid = 10026;
- GPIO cs = 1; // CS pin
- int32 speed = 2 [(nanopb).int_size = IS_16]; // SPI Bus speed
- GPIO intr = 3;
- int32 host = 4 [(nanopb).int_size = IS_8,(cust_field).v_int32 = 2 ]; // Defaults to 2 in your application logic
- }
- // RMII Specific Ethernet definitions
- message EthRMII {
- option (nanopb_msgopt).msgid = 10027;
- GPIO mdc = 1;
- GPIO mdio = 2;
- }
- // Ethernet module configuration
- message Eth {
- option (nanopb_msgopt).msgid = 10028;
- DeviceTypeEnum type = 1;
- EthCommon common = 2;
- oneof ethType {
- EthSPI spi = 3;
- EthRMII rmii = 4;
- }
- }
|