33
44__all__ = [
55 "UARTResource" , "IrDAResource" , "SPIResource" , "I2CResource" ,
6- "DirectUSBResource" , "ULPIResource"
6+ "DirectUSBResource" , "ULPIResource" , "RGMIIResource"
77]
88
99
@@ -130,3 +130,20 @@ def ULPIResource(*args, data, clk, dir, nxt, stp, rst=None,
130130 if attrs is not None :
131131 io .append (attrs )
132132 return Resource .family (* args , default_name = "usb" , ios = io )
133+
134+
135+ def RGMIIResource (* args , txc , txd , tx_ctl , rxc , rxd , rx_ctl , mdc , mdio , attrs = None , conn = None ):
136+ io = []
137+
138+ io .append (Subsignal ("txc" , Pins (txc , dir = "o" , conn = conn , assert_width = 1 )))
139+ io .append (Subsignal ("txd" , Pins (txd , dir = "o" , conn = conn , assert_width = 4 )))
140+ io .append (Subsignal ("tx_ctl" , Pins (txc , dir = "o" , conn = conn , assert_width = 1 )))
141+ io .append (Subsignal ("rxc" , Pins (rxc , dir = "i" , conn = conn , assert_width = 1 )))
142+ io .append (Subsignal ("rxd" , Pins (rxd , dir = "i" , conn = conn , assert_width = 4 )))
143+ io .append (Subsignal ("rx_ctl" , Pins (txc , dir = "i" , conn = conn , assert_width = 1 )))
144+ io .append (Subsignal ("mdc" , Pins (mdc , dir = "o" , conn = conn , assert_width = 1 )))
145+ io .append (Subsignal ("mdio" , Pins (mdio , dir = "io" , conn = conn , assert_width = 1 )))
146+
147+ if attrs is not None :
148+ io .append (attrs )
149+ return Resource .family (* args , default_name = "rgmii" , ios = io )
0 commit comments