Fri, 13 Aug 2010 10:41:29 +0100
Initial commit, GPIO v3.1
| philpem@0 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
| philpem@0 | 2 | <Component Name="gpio" Text="GPIO" Type="IO" Ver="3.1" Help="gpio\document\gpio.htm"> |
| philpem@0 | 3 | <MasterSlavePorts> |
| philpem@0 | 4 | <SlavePort Prefix="GPIO" Name="GP I/O Port" Type="DATA,DMAR,DMAW"/> |
| philpem@0 | 5 | </MasterSlavePorts> |
| philpem@0 | 6 | <ClockPort Name="CLK_I" Description="Clock one"/> |
| philpem@0 | 7 | <ResetPort Name="RST_I" Description="Reset"/> |
| philpem@0 | 8 | <Interrupt Name="IRQ_O" Active="high" IRQ=""/> |
| philpem@0 | 9 | <ExternalPorts> |
| philpem@0 | 10 | <ExternalPort Name="PIO_IN" Type="input" Width="DATA_WIDTH" Condition="INPUT_PORTS_ONLY" /> |
| philpem@0 | 11 | <ExternalPort Name="PIO_BOTH_IN" Type="input" Width="INPUT_WIDTH" Condition="BOTH_INPUT_AND_OUTPUT" /> |
| philpem@0 | 12 | <ExternalPort Name="PIO_OUT" Type="output" Width="DATA_WIDTH" Condition="OUTPUT_PORTS_ONLY" /> |
| philpem@0 | 13 | <ExternalPort Name="PIO_BOTH_OUT" Type="output" Width="OUTPUT_WIDTH" Condition="BOTH_INPUT_AND_OUTPUT" /> |
| philpem@0 | 14 | <ExternalPort Name="PIO_IO" Type="inout" Width="DATA_WIDTH" Condition="TRISTATE_PORTS" /> |
| philpem@0 | 15 | </ExternalPorts> |
| philpem@0 | 16 | <DeviceDriver InitRoutine="MicoGPIOInit" StructName="MicoGPIOCtx_t"> |
| philpem@0 | 17 | <DDInclude Include = "LookupServices.h"/> |
| philpem@0 | 18 | <DDstruct> |
| philpem@0 | 19 | <DDSElem MemberName = "name" MemberType = "const char*" Type = "Parm" Value = "InstanceName" Format="string"/> |
| philpem@0 | 20 | <DDSElem MemberName = "base" MemberType = "unsigned int" Type = "Parm" Value = "BASE_ADDRESS" /> |
| philpem@0 | 21 | <DDSElem MemberName = "lookupReg" MemberType = "DeviceReg_t" Type="uninitialized" Value=""/> |
| philpem@0 | 22 | <DDSElem MemberName = "intrLevel" MemberType = "unsigned int" Type = "Interrupt" Value = "IRQ_LEVEL" /> |
| philpem@0 | 23 | <DDSElem MemberName = "output_only" MemberType = "unsigned int" Type = "Parm" Value = "OUTPUT_PORTS_ONLY" /> |
| philpem@0 | 24 | <DDSElem MemberName = "input_only" MemberType = "unsigned int" Type = "Parm" Value = "INPUT_PORTS_ONLY" /> |
| philpem@0 | 25 | <DDSElem MemberName = "in_and_out" MemberType = "unsigned int" Type = "Parm" Value = "BOTH_INPUT_AND_OUTPUT" /> |
| philpem@0 | 26 | <DDSElem MemberName = "tristate" MemberType = "unsigned int" Type = "Parm" Value = "TRISTATE_PORTS" /> |
| philpem@0 | 27 | <DDSElem MemberName = "data_width" MemberType = "unsigned int" Type = "Parm" Value = "DATA_WIDTH" /> |
| philpem@0 | 28 | <DDSElem MemberName = "input_width" MemberType = "unsigned int" Type = "Parm" Value = "INPUT_WIDTH" /> |
| philpem@0 | 29 | <DDSElem MemberName = "output_width" MemberType = "unsigned int" Type = "Parm" Value = "OUTPUT_WIDTH" /> |
| philpem@0 | 30 | <DDSElem MemberName = "intr_enable" MemberType = "unsigned int" Type = "Parm" Value = "IRQ_MODE" /> |
| philpem@0 | 31 | <DDSElem MemberName = "prev" MemberType = "void *" Type = "uninitialized" Value = "" /> |
| philpem@0 | 32 | <DDSElem MemberName = "next" MemberType = "void *" Type = "uninitialized" Value = "" /> |
| philpem@0 | 33 | </DDstruct> |
| philpem@0 | 34 | </DeviceDriver> |
| philpem@0 | 35 | <Files> |
| philpem@0 | 36 | <File Name="../components/gpio/rtl/verilog/gpio.v" /> |
| philpem@0 | 37 | <File Name="../components/gpio/rtl/verilog/tpio.v" /> |
| philpem@0 | 38 | </Files> |
| philpem@0 | 39 | <Parms> |
| philpem@0 | 40 | <Parm Name="InstanceName" Value="gpio" Type="string" isiname="true" Text="Instance Name"/> |
| philpem@0 | 41 | <Parm Name="BASE_ADDRESS" Value="0x80000000" Type="Integer" isba="true" Text="Base Address"/> |
| philpem@0 | 42 | <Parm Name="SIZE" Value="128" Type="Integer" issize="true" Text="Size" Enable="false"/> |
| philpem@0 | 43 | <Parm Name="ADDRESS_LOCK" Type="Define" Value="undef" Text="Lock Address"/> |
| philpem@0 | 44 | <Parm Name="DISABLE" Type="Define" Value="undef" isuse="true" Text="Disable Component"/> |
| philpem@0 | 45 | <Parm Name="OUTPUT_PORTS_ONLY" Type="define" Value="def" GROUP="XFER_MODE" Text="Output Ports Only" isparm="true" /> |
| philpem@0 | 46 | <Parm Name="INPUT_PORTS_ONLY" Type="define" Value="undef" GROUP="XFER_MODE" Text="Input Ports Only" isparm="true"/> |
| philpem@0 | 47 | <Parm Name="TRISTATE_PORTS" Type="define" Value="undef" GROUP="XFER_MODE" Text="Tristate Ports" isparm="true"/> |
| philpem@0 | 48 | <Parm Name="BOTH_INPUT_AND_OUTPUT" Type="define" Value="undef" GROUP="XFER_MODE" Text="Both Input and Output" isparm="true"/> |
| philpem@0 | 49 | <Parm Name="DATA_WIDTH" Type="Integer" ValueRange="1-32" Value="1" NotCondition="BOTH_INPUT_AND_OUTPUT" Text="Data Width" isparm="true"/> |
| philpem@0 | 50 | <Parm Name="INPUT_WIDTH" Type="Integer" ValueRange="1-32" Value="1" Condition="BOTH_INPUT_AND_OUTPUT" Text="Input Width" isparm="true"/> |
| philpem@0 | 51 | <Parm Name="OUTPUT_WIDTH" Type="Integer" ValueRange="1-32" Value="1" Condition="BOTH_INPUT_AND_OUTPUT" Text="Output Width" isparm="true"/> |
| philpem@0 | 52 | <Parm Name="IRQ_MODE" Type="define" Value="undef" Text="IRQ Mode" isparm="true"/> |
| philpem@0 | 53 | <Parm Name="LEVEL" Type="define" Value="undef" GROUP="IMODE" Condition="IRQ_MODE" Text="Level" isparm="true"/> |
| philpem@0 | 54 | <Parm Name="EDGE" Type="define" Value="def" GROUP="IMODE" Condition="IRQ_MODE" Text="Edge" isparm="true"/> |
| philpem@0 | 55 | <Parm Name="EITHER_EDGE_IRQ" Type="define" Value="undef" Group="EMODE" Condition="EDGE" Text="Either Edge" isparm="true"/> |
| philpem@0 | 56 | <Parm Name="POSE_EDGE_IRQ" Type="define" Value="def" Group="EMODE" Condition="EDGE" Text="Postive Edge" isparm="true"/> |
| philpem@0 | 57 | <Parm Name="NEGE_EDGE_IRQ" Type="define" Value="undef" Group="EMODE" Condition="EDGE" Text="Negative Edge" isparm="true"/> |
| philpem@0 | 58 | </Parms> |
| philpem@0 | 59 | <GUIS Columns="2" Help="component_help\lm32.htm" Name="GPIO"> |
| philpem@0 | 60 | <GUI Widget="Text" Span="1" Name="InstanceName" Width="40"/> |
| philpem@0 | 61 | <GUI Widget="Text" Span="1" Name="BASE_ADDRESS"/> |
| philpem@0 | 62 | <GUI Widget="Group" Span="1" Name="XFER_MODE" Text="Port Types" Columns="1"/> |
| philpem@0 | 63 | <GUI Widget="Radio" Span="1" Name="OUTPUT_PORTS_ONLY"/> |
| philpem@0 | 64 | <GUI Widget="Radio" Span="1" Name="INPUT_PORTS_ONLY"/> |
| philpem@0 | 65 | <GUI Widget="Radio" Span="1" Name="TRISTATE_PORTS"/> |
| philpem@0 | 66 | <GUI Widget="Radio" Span="1" Name="BOTH_INPUT_AND_OUTPUT"/> |
| philpem@0 | 67 | |
| philpem@0 | 68 | <GUI Widget="Group" Span="1" Text="Port Width" Columns="2"/> |
| philpem@0 | 69 | <GUI Widget="Spinner" Span="1" Name="DATA_WIDTH"/> |
| philpem@0 | 70 | <GUI Widget="Spinner" Span="1" Name="INPUT_WIDTH"/> |
| philpem@0 | 71 | <GUI Widget="Spinner" Span="1" Name="OUTPUT_WIDTH"/> |
| philpem@0 | 72 | |
| philpem@0 | 73 | <GUI Widget="Group" Span="1" Name="IRQ_MODE" Text="IRQ Mode" Columns="1"/> |
| philpem@0 | 74 | <GUI Widget="Check" Span="1" Name="IRQ_MODE"/> |
| philpem@0 | 75 | <GUI Widget="Radio" Span="1" Name="LEVEL"/> |
| philpem@0 | 76 | <GUI Widget="Radio" Span="1" Name="EDGE"/> |
| philpem@0 | 77 | |
| philpem@0 | 78 | <GUI Widget="Group" Span="1" Text="Edge Response" Columns="1"/> |
| philpem@0 | 79 | <GUI Widget="Radio" Span="1" Name="EITHER_EDGE_IRQ"/> |
| philpem@0 | 80 | <GUI Widget="Radio" Span="1" Name="POSE_EDGE_IRQ"/> |
| philpem@0 | 81 | <GUI Widget="Radio" Span="1" Name="NEGE_EDGE_IRQ"/> |
| philpem@0 | 82 | </GUIS> |
| philpem@0 | 83 | </Component> |