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/memory-controllers/arm,pl172.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 * Device tree bindings for ARM PL172/PL175/PL176 MultiPort Memory Controller
    2 
    3 Required properties:
    4 
    5 - compatible:           Must be "arm,primecell" and exactly one from
    6                         "arm,pl172", "arm,pl175" or "arm,pl176".
    7 
    8 - reg:                  Must contains offset/length value for controller.
    9 
   10 - #address-cells:       Must be 2. The partition number has to be encoded in the
   11                         first address cell and it may accept values 0..N-1
   12                         (N - total number of partitions). The second cell is the
   13                         offset into the partition.
   14 
   15 - #size-cells:          Must be set to 1.
   16 
   17 - ranges:               Must contain one or more chip select memory regions.
   18 
   19 - clocks:               Must contain references to controller clocks.
   20 
   21 - clock-names:          Must contain "mpmcclk" and "apb_pclk".
   22 
   23 - clock-ranges:         Empty property indicating that child nodes can inherit
   24                         named clocks. Required only if clock tree data present
   25                         in device tree.
   26                         See clock-bindings.txt
   27 
   28 Child chip-select (cs) nodes contain the memory devices nodes connected to
   29 such as NOR (e.g. cfi-flash) and NAND.
   30 
   31 Required child cs node properties:
   32 
   33 - #address-cells:       Must be 2.
   34 
   35 - #size-cells:          Must be 1.
   36 
   37 - ranges:               Empty property indicating that child nodes can inherit
   38                         memory layout.
   39 
   40 - clock-ranges:         Empty property indicating that child nodes can inherit
   41                         named clocks. Required only if clock tree data present
   42                         in device tree.
   43 
   44 - mpmc,cs:              Chip select number. Indicates to the pl0172 driver
   45                         which chipselect is used for accessing the memory.
   46 
   47 - mpmc,memory-width:    Width of the chip select memory. Must be equal to
   48                         either 8, 16 or 32.
   49 
   50 Optional child cs node config properties:
   51 
   52 - mpmc,async-page-mode: Enable asynchronous page mode.
   53 
   54 - mpmc,cs-active-high:  Set chip select polarity to active high.
   55 
   56 - mpmc,byte-lane-low:   Set byte lane state to low.
   57 
   58 - mpmc,extended-wait:   Enable extended wait.
   59 
   60 - mpmc,buffer-enable:   Enable write buffer, option is not supported by
   61                         PL175 and PL176 controllers.
   62 
   63 - mpmc,write-protect:   Enable write protect.
   64 
   65 Optional child cs node timing properties:
   66 
   67 - mpmc,write-enable-delay:      Delay from chip select assertion to write
   68                                 enable (WE signal) in nano seconds.
   69 
   70 - mpmc,output-enable-delay:     Delay from chip select assertion to output
   71                                 enable (OE signal) in nano seconds.
   72 
   73 - mpmc,write-access-delay:      Delay from chip select assertion to write
   74                                 access in nano seconds.
   75 
   76 - mpmc,read-access-delay:       Delay from chip select assertion to read
   77                                 access in nano seconds.
   78 
   79 - mpmc,page-mode-read-delay:    Delay for asynchronous page mode sequential
   80                                 accesses in nano seconds.
   81 
   82 - mpmc,turn-round-delay:        Delay between access to memory banks in nano
   83                                 seconds.
   84 
   85 If any of the above timing parameters are absent, current parameter value will
   86 be taken from the corresponding HW reg.
   87 
   88 Example for pl172 with nor flash on chip select 0 shown below.
   89 
   90 emc: memory-controller@40005000 {
   91         compatible = "arm,pl172", "arm,primecell";
   92         reg = <0x40005000 0x1000>;
   93         clocks = <&ccu1 CLK_CPU_EMCDIV>, <&ccu1 CLK_CPU_EMC>;
   94         clock-names = "mpmcclk", "apb_pclk";
   95         #address-cells = <2>;
   96         #size-cells = <1>;
   97         ranges = <0 0 0x1c000000 0x1000000
   98                   1 0 0x1d000000 0x1000000
   99                   2 0 0x1e000000 0x1000000
  100                   3 0 0x1f000000 0x1000000>;
  101 
  102         cs0 {
  103                 #address-cells = <2>;
  104                 #size-cells = <1>;
  105                 ranges;
  106 
  107                 mpmc,cs = <0>;
  108                 mpmc,memory-width = <16>;
  109                 mpmc,byte-lane-low;
  110                 mpmc,write-enable-delay = <0>;
  111                 mpmc,output-enable-delay = <0>;
  112                 mpmc,read-enable-delay = <70>;
  113                 mpmc,page-mode-read-delay = <70>;
  114 
  115                 flash@0,0 {
  116                         compatible = "sst,sst39vf320", "cfi-flash";
  117                         reg = <0 0 0x400000>;
  118                         bank-width = <2>;
  119                         #address-cells = <1>;
  120                         #size-cells = <1>;
  121                         partition@0 {
  122                                 label = "data";
  123                                 reg = <0 0x400000>;
  124                         };
  125                 };
  126         };
  127 };

Cache object: 01a972ca097962a51fd0837c6d68fc40


[ 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.