aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/dts/WR512-3GN-4M.dts
Commit message (Expand)AuthorAgeFilesLines
* ramips: move common parts into dtsiMathias Kresin2017-08-031-73/+1
* ramips: update device tree source filesL. D. Pinney2017-08-031-8/+9
* ramips: use new image build code for more devicesMathias Kresin2016-12-241-1/+1
* treewide: fix button keys codes used in dtsMathias Kresin2016-11-271-1/+1
* treewide: dts: use keycode defines from input dt-bindingMathias Kresin2016-11-131-2/+4
* ramips: DTS reworkStanislav Galabov2016-05-121-19/+19
* ramips: Change all '/include/' clauses to '#include' so preprocessing canStanislav Galabov2016-05-101-1/+1
* ralink: fixup devicetree files to work with new ethernet driverJohn Crispin2015-12-171-1/+1
* ramips: use consistent naming scheme for LEDsJohn Crispin2015-08-171-5/+5
* ramips: fix indentation and other mistakes in .dts{, i} filesJohn Crispin2015-08-171-1/+7
* ramips: soc wmac eeprom cleanupJohn Crispin2014-07-171-0/+4
* ralink: add pinctrl driverJohn Crispin2013-09-171-19/+6
* move memory detect node to dtsi filesJohn Crispin2013-04-091-4/+0
* remove bootargs from dtsJohn Crispin2013-04-091-4/+0
* add ofpart info to the devicetreesJohn Crispin2013-04-091-0/+23
* ramips: remove top-level {address,size}-cells properties from .dts filesGabor Juhos2013-04-071-2/+0
* fix typo pinmmux -> pinmuxJohn Crispin2013-04-061-1/+1
* fix typo that made gpiomuxing failJohn Crispin2013-04-051-1/+1
* add the dts files that describe the boards in futureJohn Crispin2013-04-031-0/+99
*/ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
--  This is an implementation of -*- vhdl -*- ieee.std_logic_1164 based only
--  on the specifications.  This file is part of GHDL.
--  Copyright (C) 2015-2021 Tristan Gingold
--
--  This program is free software: you can redistribute it and/or modify
--  it under the terms of the GNU General Public License as published by
--  the Free Software Foundation, either version 2 of the License, or
--  (at your option) any later version.
--
--  This program is distributed in the hope that it will be useful,
--  but WITHOUT ANY WARRANTY; without even the implied warranty of
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--  GNU General Public License for more details.
--
--  You should have received a copy of the GNU General Public License
--  along with this program.  If not, see <gnu.org/licenses>.

use std.textio.all;   --V08
                      --V08
package std_logic_1164 is

  --  Unresolved logic state.
  type std_ulogic is
    (
     'U',  --  Uninitialized, this is also the default value.
     'X',  --  Unknown / conflict value (forcing level).
     '0',  --  0 (forcing level).
     '1',  --  1 (forcing level).
     'Z',  --  High impedance.
     'W',  --  Unknown / conflict (weak level).
     'L',  --  0 (weak level).
     'H',  --  1 (weak level).
     '-'   --  Don't care.
    );

  --  Vector of logic state.
  type std_ulogic_vector is array (natural range <>) of std_ulogic;

  --  Resolution function.
  --  If S is empty, returns 'Z'.
  --  If S has one element, return the element.
  --  Otherwise, 'U' is the strongest.
  --       then  'X'
  --       then  '0' and '1'
  --       then  'W'
  --       then  'H' and 'L'
  --       then  'Z'.
  function resolved (s : std_ulogic_vector) return std_ulogic;

  --  Resolved logic state.
  subtype std_logic is resolved std_ulogic;

  --  Vector of std_logic.
  type std_logic_vector is array (natural range <>) of std_logic; --!V08
  subtype std_logic_vector is (resolved) std_ulogic_vector;       --V08

  --  Subtypes of std_ulogic.  The names give the values.
  subtype X01   is resolved std_ulogic range 'X' to '1';
  subtype X01Z  is resolved std_ulogic range 'X' to 'Z';
  subtype UX01  is resolved std_ulogic range 'U' to '1';
  subtype UX01Z is resolved std_ulogic range 'U' to 'Z';

  --  Logical operators.
  --  For logical operations, the inputs are first normalized to UX01:
  --  0 and L are normalized to 0, 1 and 1 are normalized to 1, U isnt changed,
  --  all other states are normalized to X.
  --  Then the classical electric rules are followed.
  function "and"  (l : std_ulogic; r : std_ulogic) return UX01;
  function "nand" (l : std_ulogic; r : std_ulogic) return UX01;
  function "or"   (l : std_ulogic; r : std_ulogic) return UX01;
  function "nor"  (l : std_ulogic; r : std_ulogic) return UX01;
  function "xor"  (l : std_ulogic; r : std_ulogic) return UX01;
  function "xnor" (l : std_ulogic; r : std_ulogic) return UX01;  --!V87
  function "not"  (l : std_ulogic) return UX01;

  --  Logical operators for vectors.
  --  An assertion of severity failure fails if the length of L and R aren't
  --  equal.  The result range is 1 to L'Length.
  function "and"  (l, r : std_logic_vector) return std_logic_vector; --!V08
  function "nand" (l, r : std_logic_vector) return std_logic_vector; --!V08
  function "or"   (l, r : std_logic_vector) return std_logic_vector; --!V08
  function "nor"  (l, r : std_logic_vector) return std_logic_vector; --!V08
  function "xor"  (l, r : std_logic_vector) return std_logic_vector; --!V08
  function "xnor" (l, r : std_logic_vector) return std_logic_vector; --V93
  function "not"  (l : std_logic_vector) return std_logic_vector;    --!V08

  function "and"  (l, r : std_ulogic_vector) return std_ulogic_vector;
  function "nand" (l, r : std_ulogic_vector) return std_ulogic_vector;
  function "or"   (l, r : std_ulogic_vector) return std_ulogic_vector;
  function "nor"  (l, r : std_ulogic_vector) return std_ulogic_vector;
  function "xor"  (l, r : std_ulogic_vector) return std_ulogic_vector;
  function "xnor" (l, r : std_ulogic_vector) return std_ulogic_vector; --!V87
  function "not"  (l : std_ulogic_vector) return std_ulogic_vector;
                                                                  --V08
  function "and"  (l : std_ulogic_vector; r : std_ulogic       )  --V08
    return std_ulogic_vector;                                     --V08
  function "and"  (l : std_ulogic;        r : std_ulogic_vector)  --V08
    return std_ulogic_vector;                                     --V08
  function "nand" (l : std_ulogic_vector; r : std_ulogic       )  --V08
    return std_ulogic_vector;                                     --V08
  function "nand" (l : std_ulogic;        r : std_ulogic_vector)  --V08
    return std_ulogic_vector;                                     --V08
  function "or"   (l : std_ulogic_vector; r : std_ulogic       )  --V08
    return std_ulogic_vector;                                     --V08
  function "or"   (l : std_ulogic;        r : std_ulogic_vector)  --V08
    return std_ulogic_vector;                                     --V08
  function "nor"  (l : std_ulogic_vector; r : std_ulogic       )  --V08
    return std_ulogic_vector;                                     --V08
  function "nor"  (l : std_ulogic;        r : std_ulogic_vector)  --V08
    return std_ulogic_vector;                                     --V08
  function "xor"  (l : std_ulogic_vector; r : std_ulogic       )  --V08
    return std_ulogic_vector;                                     --V08
  function "xor"  (l : std_ulogic;        r : std_ulogic_vector)  --V08
    return std_ulogic_vector;                                     --V08
  function "xnor" (l : std_ulogic_vector; r : std_ulogic       )  --V08
    return std_ulogic_vector;                                     --V08
  function "xnor" (l : std_ulogic;        r : std_ulogic_vector)  --V08
    return std_ulogic_vector;                                     --V08
                                                                  --V08
  function "and"  (l : std_ulogic_vector) return std_ulogic;      --V08
  function "nand" (l : std_ulogic_vector) return std_ulogic;      --V08
  function "or"   (l : std_ulogic_vector) return std_ulogic;      --V08
  function "nor"  (l : std_ulogic_vector) return std_ulogic;      --V08
  function "xor"  (l : std_ulogic_vector) return std_ulogic;      --V08
  function "xnor" (l : std_ulogic_vector) return std_ulogic;      --V08
                                                                  --V08
  function "sll"  (l : std_ulogic_vector; r : integer)            --V08
    return std_ulogic_vector;                                     --V08
  function "srl"  (l : std_ulogic_vector; r : integer)            --V08
    return std_ulogic_vector;                                     --V08
  function "rol"  (l : std_ulogic_vector; r : integer)            --V08
    return std_ulogic_vector;                                     --V08
  function "ror"  (l : std_ulogic_vector; r : integer)            --V08
    return std_ulogic_vector;                                     --V08

  --  Conversion functions.
  --  The result range (for vectors) is S'Length - 1 downto 0.
  --  XMAP is return for values not in '0', '1', 'L', 'H'.
  function to_bit (s : std_ulogic; xmap : bit := '0') return bit;
  function to_bitvector (s : std_logic_vector; xmap : bit := '0')   --!V08
    return bit_vector;                                              --!V08
  function to_bitvector (s : std_ulogic_vector; xmap : bit := '0')
    return bit_vector;

  function to_stdulogic (b : bit) return std_ulogic;
  function to_stdlogicvector (b : bit_vector) return std_logic_vector;
  function to_stdlogicvector (s : std_ulogic_vector) return std_logic_vector;
  function to_stdulogicvector (b : bit_vector) return std_ulogic_vector;
  function to_stdulogicvector (s : std_logic_vector) return std_ulogic_vector;

  alias to_bit_vector is                                              --V08
    to_bitvector[std_ulogic_vector, bit return bit_vector];           --V08
  alias to_bv is                                                      --V08
    to_bitvector[std_ulogic_vector, bit return bit_vector];           --V08
                                                                      --V08
  alias to_std_logic_vector is                                        --V08
    to_stdlogicvector[bit_vector return std_logic_vector];            --V08
  alias to_slv is                                                     --V08
    to_stdlogicvector[bit_vector return std_logic_vector];            --V08
                                                                      --V08
  alias to_std_logic_vector is                                        --V08
    to_stdlogicvector[std_ulogic_vector return std_logic_vector];     --V08
  alias to_slv is                                                     --V08
    to_stdlogicvector[std_ulogic_vector return std_logic_vector];     --V08
                                                                      --V08
  alias to_std_ulogic_vector is                                       --V08
    to_stdulogicvector[bit_vector return std_ulogic_vector];          --V08
  alias to_sulv is                                                    --V08
    to_stdulogicvector[bit_vector return std_ulogic_vector];          --V08
                                                                      --V08
  alias to_std_ulogic_vector is                                       --V08
    to_stdulogicvector[std_logic_vector return std_ulogic_vector];    --V08
  alias to_sulv is                                                    --V08
    to_stdulogicvector[std_logic_vector return std_ulogic_vector];    --V08
                                                                      --V08
  --  Normalization.
  --  The result range (for vectors) is 1 to S'Length.
  function to_01  (s : std_ulogic_vector; xmap : std_ulogic := '0')   --V08
    return std_ulogic_vector;                                         --V08
  function to_01  (s : std_ulogic;        xmap : std_ulogic := '0')   --V08
    return std_ulogic;                                                --V08
  function to_01  (s : bit_vector;        xmap : std_ulogic := '0')   --V08
    return std_ulogic_vector;                                         --V08
  function to_01  (s : bit;               xmap : std_ulogic := '0')   --V08
    return std_ulogic;                                                --V08
                                                                      --V08
  function to_X01 (s : std_logic_vector) return std_logic_vector;     --!V08
  function to_X01 (s : std_ulogic_vector) return std_ulogic_vector;
  function to_X01 (s : std_ulogic) return X01;
  function to_X01 (b : bit_vector) return std_logic_vector;           --!V08
  function to_X01 (b : bit_vector) return std_ulogic_vector;
  function to_X01 (b : bit) return X01;

  function to_X01Z (s : std_logic_vector) return std_logic_vector;    --!V08
  function to_X01Z (s : std_ulogic_vector) return std_ulogic_vector;
  function to_X01Z (s : std_ulogic) return X01Z;
  function to_X01Z (b : bit_vector) return std_logic_vector;          --!V08
  function to_X01Z (b : bit_vector) return std_ulogic_vector;
  function to_X01Z (b : bit) return X01Z;

  function to_UX01 (s : std_logic_vector) return std_logic_vector;    --!V08
  function to_UX01 (s : std_ulogic_vector) return std_ulogic_vector;
  function to_UX01 (s : std_ulogic) return UX01;
  function to_UX01 (b : bit_vector) return std_logic_vector;          --!V08
  function to_UX01 (b : bit_vector) return std_ulogic_vector;
  function to_UX01 (b : bit) return UX01;

  function "??" (l : std_ulogic) return boolean;                      --V08
                                                                      --V08
  --  Edge detection.
  --  An edge is detected in case of event on s, and X01 normalized value
  --  rises from 0 to 1 or falls from 1 to 0.
  function rising_edge (signal s : std_ulogic) return boolean;
  function falling_edge (signal s : std_ulogic) return boolean;

  --  Test for unknown.  Only 0, 1, L and H are known values.
  function is_X (s : std_ulogic_vector) return boolean;
  function is_X (s : std_logic_vector) return boolean;                --!V08
  function is_X (s : std_ulogic) return boolean;
                                                                         --V08
  --  String conversion                                                  --V08
                                                                         --V08
  alias to_bstring is to_string [std_ulogic_vector return string];       --V08
  alias to_binary_string is to_string [std_ulogic_vector return string]; --V08
                                                                         --V08
  function to_ostring (value : std_ulogic_vector) return string;         --V08
  alias to_octal_string is to_ostring [std_ulogic_vector return string]; --V08
                                                                         --V08
  function to_hstring (value : std_ulogic_vector) return string;         --V08
  alias to_hex_string is to_hstring [std_ulogic_vector return string];   --V08
                                                                         --V08
  --  Input/output                                                       --V08
                                                                         --V08
  procedure write (l : inout line; value : std_ulogic;                   --V08
                   justified : side := right; field : width := 0);       --V08
                                                                         --V08
  procedure write (l : inout line; value : std_ulogic_vector;            --V08
                   justified : side := right; field : width := 0);       --V08
  alias bwrite is write [line, std_ulogic_vector, side, width];          --V08
  alias binary_write is write [line, std_ulogic_vector, side, width];    --V08
                                                                         --V08
  procedure owrite (l : inout line; value : std_ulogic_vector;           --V08
                    justified : side := right; field : width := 0);      --V08
  alias octal_write is owrite [line, std_ulogic_vector, side, width];    --V08
                                                                         --V08
  procedure hwrite (l : inout line; value : std_ulogic_vector;           --V08
                    justified : side := right; field : width := 0);      --V08
  alias hex_write is hwrite [line, std_ulogic_vector, side, width];      --V08
                                                                         --V08
  procedure read (l : inout line;                                        --V08
                  value : out std_ulogic; good : out boolean);           --V08
  procedure read (l : inout line; value : out std_ulogic);               --V08
                                                                         --V08
  procedure read (l : inout line;                                        --V08
                  value : out std_ulogic_vector; good : out boolean);    --V08
  procedure read (l : inout line; value : out std_ulogic_vector);        --V08
  alias bread is read [line, std_ulogic_vector, boolean];                --V08
  alias bread is read [line, std_ulogic_vector];                         --V08
  alias binary_read is read [line, std_ulogic_vector, boolean];          --V08
  alias binary_read is read [line, std_ulogic_vector];                   --V08
                                                                         --V08
  procedure hread (l : inout line;                                       --V08
                   value : out std_ulogic_vector; good : out boolean);   --V08
  procedure hread (l : inout line; value : out std_ulogic_vector);       --V08
  alias hex_read is read [line, std_ulogic_vector, boolean];             --V08
  alias hex_read is read [line, std_ulogic_vector];                      --V08
                                                                         --V08
  procedure oread (l : inout line;                                       --V08
                   value : out std_ulogic_vector; good : out boolean);   --V08
  procedure oread (l : inout line; value : out std_ulogic_vector);       --V08
  alias octal_read is read [line, std_ulogic_vector, boolean];           --V08
  alias octal_read is read [line, std_ulogic_vector];                    --V08
end std_logic_1164;