Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/Documentation/devicetree/bindings/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 5 kB image not shown  

Quelle  xilinx.txt   Sprache: Text

 
   d) Xilinx IP cores

   The Xilinx EDK toolchain ships with a set of IP cores (devices) for use
   in Xilinx Spartan and Virtex FPGAs.  The devices cover the whole range
   of standard device types (network, serial, etc.) and miscellaneous
   devices (gpio, LCD, spi, etc).  Also, since these devices are
   implemented within the fpga fabric every instance of the device can be
   synthesised with different options that change the behaviour.

   Each IP-core has a set of parameters which the FPGA designer can use to
   control how the core is synthesized.  Historically, the EDK tool would
   extract the device parameters relevant to device drivers and copy them
   into an 'xparameters.h' in the form of #define symbols.  This tells the
   device drivers how the IP cores are configured, but it requires the kernel
   to be recompiled every time the FPGA bitstream is resynthesized.

   The new approach is to export the parameters into the device tree and
   generate a new device tree each time the FPGA bitstream changes.  The
   parameters which used to be exported as #defines will now become
   properties of the device node.  In general, device nodes for IP-cores
   will take the following form:

 (name): (generic-name)@(base-address) {
  compatible = "xlnx,(ip-core-name)-(HW_VER)"
        [, (list of compatible devices), ...];
  reg = <(baseaddr) (size)>;
  interrupt-parent = <&interrupt-controller-phandle>;
  interrupts = < ... >;
  xlnx,(parameter1) = "(string-value)";
  xlnx,(parameter2) = <(int-value)>;
 };

 (generic-name):   an open firmware-style name that describes the
   generic class of device.  Preferably, this is one word, such
   as 'serial' or 'ethernet'.
 (ip-core-name): the name of the ip block (given after the BEGIN
   directive in system.mhs).  Should be in lowercase
   and all underscores '_' converted to dashes '-'.
 (name):  is derived from the "PARAMETER INSTANCE" value.
 (parameter#): C_* parameters from system.mhs.  The C_ prefix is
   dropped from the parameter name, the name is converted
   to lowercase and all underscore '_' characters are
   converted to dashes '-'.
 (baseaddr): the baseaddr parameter value (often named C_BASEADDR).
 (HW_VER): from the HW_VER parameter.
 (size):  the address range size (often C_HIGHADDR - C_BASEADDR + 1).

   Typically, the compatible list will include the exact IP core version
   followed by an older IP core version which implements the same
   interface or any other device with the same interface.

   'reg' and 'interrupts' are all optional properties.

   For example, the following block from system.mhs:

 BEGIN opb_uartlite
  PARAMETER INSTANCE = opb_uartlite_0
  PARAMETER HW_VER = 1.00.b
  PARAMETER C_BAUDRATE = 115200
  PARAMETER C_DATA_BITS = 8
  PARAMETER C_ODD_PARITY = 0
  PARAMETER C_USE_PARITY = 0
  PARAMETER C_CLK_FREQ = 50000000
  PARAMETER C_BASEADDR = 0xEC100000
  PARAMETER C_HIGHADDR = 0xEC10FFFF
  BUS_INTERFACE SOPB = opb_7
  PORT OPB_Clk = CLK_50MHz
  PORT Interrupt = opb_uartlite_0_Interrupt
  PORT RX = opb_uartlite_0_RX
  PORT TX = opb_uartlite_0_TX
  PORT OPB_Rst = sys_bus_reset_0
 END

   becomes the following device tree node:

 opb_uartlite_0: serial@ec100000 {
  device_type = "serial";
  compatible = "xlnx,opb-uartlite-1.00.b";
  reg = <ec100000 10000>;
  interrupt-parent = <&opb_intc_0>;
  interrupts = <1 0>; // got this from the opb_intc parameters
  current-speed = <d#115200>; // standard serial device prop
  clock-frequency = <d#50000000>; // standard serial device prop
  xlnx,data-bits = <8>;
  xlnx,odd-parity = <0>;
  xlnx,use-parity = <0>;
 };

   That covers the general approach to binding xilinx IP cores into the
   device tree.  The following are bindings for specific devices:

      i) Xilinx ML300 Framebuffer

      Simple framebuffer device from the ML300 reference design (also on the
      ML403 reference design as well as others).

      Optional properties:
       - resolution = <xres yres> : pixel resolution of framebuffer.  Some
                                    implementations use a different resolution.
                                    Default is <d#640 d#480>
       - virt-resolution = <xvirt yvirt> : Size of framebuffer in memory.
                                           Default is <d#1024 d#480>.
       - rotate-display (empty) : rotate display 180 degrees.

      iii) Xilinx EMAC and Xilinx TEMAC

      Xilinx Ethernet devices.  In addition to general xilinx properties
      listed above, nodes for these devices should include a phy-handle
      property, and may include other common network device properties
      like local-mac-address.

      v) Xilinx hwicap

  Xilinx hwicap devices provide access to the configuration logic
  of the FPGA through the Internal Configuration Access Port
  (ICAP).  The ICAP enables partial reconfiguration of the FPGA,
  readback of the configuration information, and some control over
  'warm boots' of the FPGA fabric.

  Required properties:
  - xlnx,family : The family of the FPGA, necessary since the
                      capabilities of the underlying ICAP hardware
                      differ between different families.  May be
                      'virtex2p', 'virtex4', or 'virtex5'.
  - compatible : should contain "xlnx,xps-hwicap-1.00.a" or
    "xlnx,opb-hwicap-1.00.b".

      vii) Xilinx USB Host controller

      The Xilinx USB host controller is EHCI compatible but with a different
      base address for the EHCI registers, and it is always a big-endian
      USB Host controller. The hardware can be configured as high speed only,
      or high speed/full speed hybrid.

      Required properties:
      - xlnx,support-usb-fs: A value 0 means the core is built as high speed
                             only. A value 1 means the core also supports
                             full speed devices.


Messung V0.5
C=97 H=97 G=96

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.