The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/arm/vexpress-sysreg.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 ARM Versatile Express system registers
    2 --------------------------------------
    3 
    4 This is a system control registers block, providing multiple low level
    5 platform functions like board detection and identification, software
    6 interrupt generation, MMC and NOR Flash control etc.
    7 
    8 Required node properties:
    9 - compatible value : = "arm,vexpress,sysreg";
   10 - reg : physical base address and the size of the registers window
   11 
   12 Deprecated properties, replaced by GPIO subnodes (see below):
   13 - gpio-controller : specifies that the node is a GPIO controller
   14 - #gpio-cells : size of the GPIO specifier, should be 2:
   15   - first cell is the pseudo-GPIO line number:
   16     0 - MMC CARDIN
   17     1 - MMC WPROT
   18     2 - NOR FLASH WPn
   19   - second cell can take standard GPIO flags (currently ignored).
   20 
   21 Control registers providing pseudo-GPIO lines must be represented
   22 by subnodes, each of them requiring the following properties:
   23 - compatible value : one of
   24                         "arm,vexpress-sysreg,sys_led"
   25                         "arm,vexpress-sysreg,sys_mci"
   26                         "arm,vexpress-sysreg,sys_flash"
   27 - gpio-controller : makes the node a GPIO controller
   28 - #gpio-cells : size of the GPIO specifier, must be 2:
   29   - first cell is the function number:
   30     - for sys_led : 0..7 = LED 0..7
   31     - for sys_mci : 0 = MMC CARDIN, 1 = MMC WPROT
   32     - for sys_flash : 0 = NOR FLASH WPn
   33   - second cell can take standard GPIO flags (currently ignored).
   34 
   35 Example:
   36         v2m_sysreg: sysreg@10000000 {
   37                 compatible = "arm,vexpress-sysreg";
   38                 reg = <0x10000000 0x1000>;
   39 
   40                 v2m_led_gpios: sys_led@8 {
   41                         compatible = "arm,vexpress-sysreg,sys_led";
   42                         gpio-controller;
   43                         #gpio-cells = <2>;
   44                 };
   45 
   46                 v2m_mmc_gpios: sys_mci@48 {
   47                         compatible = "arm,vexpress-sysreg,sys_mci";
   48                         gpio-controller;
   49                         #gpio-cells = <2>;
   50                 };
   51 
   52                 v2m_flash_gpios: sys_flash@4c {
   53                         compatible = "arm,vexpress-sysreg,sys_flash";
   54                         gpio-controller;
   55                         #gpio-cells = <2>;
   56                 };
   57         };
   58 
   59 This block also can also act a bridge to the platform's configuration
   60 bus via "system control" interface, addressing devices with site number,
   61 position in the board stack, config controller, function and device
   62 numbers - see motherboard's TRM for more details. All configuration
   63 controller accessible via this interface must reference the sysreg
   64 node via "arm,vexpress,config-bridge" phandle and define appropriate
   65 topology properties - see main vexpress node documentation for more
   66 details. Each child of such node describes one function and must
   67 define the following properties:
   68 - compatible value : must be one of (corresponding to the TRM):
   69         "arm,vexpress-amp"
   70         "arm,vexpress-dvimode"
   71         "arm,vexpress-energy"
   72         "arm,vexpress-muxfpga"
   73         "arm,vexpress-osc"
   74         "arm,vexpress-power"
   75         "arm,vexpress-reboot"
   76         "arm,vexpress-reset"
   77         "arm,vexpress-scc"
   78         "arm,vexpress-shutdown"
   79         "arm,vexpress-temp"
   80         "arm,vexpress-volt"
   81 - arm,vexpress-sysreg,func : must contain a set of two cells long groups:
   82   - first cell of each group defines the function number
   83     (eg. 1 for clock generator, 2 for voltage regulators etc.)
   84   - second cell of each group defines device number (eg. osc 0,
   85     osc 1 etc.)
   86   - some functions (eg. energy meter, with its 64 bit long counter)
   87     are using more than one function/device number pair
   88 
   89 Example:
   90         mcc {
   91                 compatible = "arm,vexpress,config-bus";
   92                 arm,vexpress,config-bridge = <&v2m_sysreg>;
   93 
   94                 osc@0 {
   95                         compatible = "arm,vexpress-osc";
   96                         arm,vexpress-sysreg,func = <1 0>;
   97                 };
   98 
   99                 energy@0 {
  100                         compatible = "arm,vexpress-energy";
  101                         arm,vexpress-sysreg,func = <13 0>, <13 1>;
  102                 };
  103         };

Cache object: 0ee9b582329429e40ce404bc99eaa29f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.