Commit b7a95995 authored by Thanassis Tsiodras's avatar Thanassis Tsiodras

Support for new DRVMGR-based Ethernet POHIC drivers.

parent 9bbef620
......@@ -87,6 +87,8 @@ public
with ocarina_drivers_rtems_ne2000;
with ocarina_drivers_grspw_packet;
with ocarina_drivers_apbuart_serial;
with ocarina_drivers_greth;
with ocarina_drivers_star_dundee_spacewire_brick;
with ocarina_drivers_udp_exarm;
......@@ -166,6 +168,13 @@ public
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end leon_ethernet.raw;
device implementation leon_ethernet.greth
properties
Deployment::Driver_Name => "greth";
Device_Driver => classifier (ocarina_drivers_greth::eth_driver.leon);
Initialize_Entrypoint => classifier (ocarina_drivers_greth::spg_greth_init);
Provided_Virtual_Bus_Class => (classifier (ocarina_buses::pohi.c));
end leon_ethernet.greth;
------------------
-- RASTA SERIAL --
......@@ -2563,3 +2572,72 @@ subcomponents
end serial_driver.impl;
end ocarina_drivers_apbuart_serial;
package ocarina_drivers_greth
public
with Deployment;
with ocarina_buses;
with ocarina_drivers;
-- This driver works for RTEMS 5 (presumably RTEMS 4.11) based on
-- drvmgr driver subsystem, using GRETH driver.
--
-- No chapter in RCC 1.3 manual
subprogram spg_greth_poller
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_rtems_drvmgr_ethernet_poller";
Source_Text => ("po_hi_driver_drvmgr_common.c",
"po_hi_driver_rtems_drvmgr_ethernet.c");
end spg_greth_poller;
subprogram spg_greth_sender
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_rtems_drvmgr_ethernet_sender";
Source_Text => ("po_hi_driver_drvmgr_common.c",
"po_hi_driver_rtems_drvmgr_ethernet.c");
end spg_greth_sender;
subprogram spg_greth_init
properties
Source_Language => (C);
Source_Name => "__po_hi_c_driver_rtems_drvmgr_ethernet_init";
Source_Text => ("po_hi_driver_drvmgr_common.c",
"po_hi_driver_rtems_drvmgr_ethernet.c");
end spg_greth_init;
thread thr_poller
end thr_poller;
thread implementation thr_poller.i
calls
mycall : {
pspg : subprogram spg_greth_poller;
};
properties
Period => 1000ms;
Dispatch_Protocol => Periodic;
end thr_poller.i;
abstract eth_driver
properties
Deployment::Configuration_Type => classifier (ocarina_drivers::configuration_type_ip);
Deployment::Version => "0.1beta";
Deployment::Help => "Write your ASN.1 configuration here";
end eth_driver;
abstract implementation eth_driver.leon
subcomponents
sender : subprogram spg_greth_sender;
end eth_driver.leon;
abstract implementation eth_driver.leon_sender
subcomponents
sender : subprogram spg_greth_sender;
end eth_driver.leon_sender;
end ocarina_drivers_greth;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment