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/mtd/mtd-physmap.yaml

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 # SPDX-License-Identifier: GPL-2.0
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/mtd/mtd-physmap.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: CFI or JEDEC memory-mapped NOR flash, MTD-RAM (NVRAM...)
    8 
    9 maintainers:
   10   - Rob Herring <robh@kernel.org>
   11 
   12 description: |
   13   Flash chips (Memory Technology Devices) are often used for solid state
   14   file systems on embedded devices.
   15 
   16 properties:
   17   compatible:
   18     oneOf:
   19       - items:
   20           - enum:
   21               - amd,s29gl01gp
   22               - amd,s29gl032a
   23               - amd,s29gl256n
   24               - amd,s29gl512n
   25               - arm,versatile-flash
   26               - arm,vexpress-flash
   27               - cortina,gemini-flash
   28               - cypress,hyperflash
   29               - ge,imp3a-firmware-mirror
   30               - ge,imp3a-paged-flash
   31               - gef,ppc9a-firmware-mirror
   32               - gef,ppc9a-paged-flash
   33               - gef,sbc310-firmware-mirror
   34               - gef,sbc310-paged-flash
   35               - gef,sbc610-firmware-mirror
   36               - gef,sbc610-paged-flash
   37               - intel,28f128j3
   38               - intel,dt28f160
   39               - intel,ixp4xx-flash
   40               - intel,JS28F128
   41               - intel,JS28F640
   42               - intel,PC28F640P30T85
   43               - numonyx,js28f00a
   44               - numonyx,js28f128
   45               - sst,sst39vf320
   46               - xlnx,xps-mch-emc-2.00.a
   47           - enum:
   48               - cfi-flash
   49               - jedec-flash
   50       - items:
   51           - enum:
   52               - cypress,cy7c1019dv33-10zsxi
   53               - arm,vexpress-psram
   54           - const: mtd-ram
   55       - enum:
   56           - cfi-flash
   57           - jedec-flash
   58           - mtd-ram
   59           - mtd-rom
   60 
   61   reg:
   62     description: |
   63       It's possible to (optionally) define multiple "reg" tuples so that
   64       non-identical chips can be described in one node.
   65     minItems: 1
   66     maxItems: 8
   67 
   68   bank-width:
   69     description: Width (in bytes) of the bank.  Equal to the device width times
   70       the number of interleaved chips.
   71     $ref: /schemas/types.yaml#/definitions/uint32
   72     enum: [ 1, 2, 4 ]
   73 
   74   device-width:
   75     description:
   76       Width of a single mtd chip. If omitted, assumed to be equal to 'bank-width'.
   77     $ref: /schemas/types.yaml#/definitions/uint32
   78     enum: [ 1, 2 ]
   79 
   80   no-unaligned-direct-access:
   81     type: boolean
   82     description: |
   83       Disables the default direct mapping of the flash.
   84 
   85       On some platforms (e.g. MPC5200) a direct 1:1 mapping may cause problems
   86       with JFFS2 usage, as the local bus (LPB) doesn't support unaligned
   87       accesses as implemented in the JFFS2 code via memcpy(). By defining
   88       "no-unaligned-direct-access", the flash will not be exposed directly to
   89       the MTD users (e.g. JFFS2) any more.
   90 
   91   linux,mtd-name:
   92     description:
   93       Allows specifying the mtd name for retro capability with physmap-flash
   94       drivers as boot loader pass the mtd partition via the old device name
   95       physmap-flash.
   96     $ref: /schemas/types.yaml#/definitions/string
   97 
   98   use-advanced-sector-protection:
   99     type: boolean
  100     description: |
  101       Enables support for the advanced sector protection (Spansion: PPB -
  102       Persistent Protection Bits) locking.
  103 
  104   erase-size:
  105     description: The chip's physical erase block size in bytes.
  106     $ref: /schemas/types.yaml#/definitions/uint32
  107 
  108   addr-gpios:
  109     description:
  110       List of GPIO descriptors that will be used to address the MSBs address
  111       lines. The order goes from LSB to MSB.
  112     minItems: 1
  113     maxItems: 8
  114 
  115   '#address-cells':
  116     const: 1
  117 
  118   '#size-cells':
  119     const: 1
  120 
  121   big-endian: true
  122   little-endian: true
  123 
  124 patternProperties:
  125   '@[0-9a-f]+$':
  126     $ref: partitions/partition.yaml
  127 
  128 required:
  129   - compatible
  130   - reg
  131 
  132 if:
  133   properties:
  134     compatible:
  135       contains:
  136         const: cortina,gemini-flash
  137 then:
  138   properties:
  139     syscon:
  140       $ref: /schemas/types.yaml#/definitions/phandle
  141       description:
  142         Phandle to the syscon controller
  143   required:
  144     - syscon
  145 
  146 # FIXME: A parent bus may define timing properties
  147 additionalProperties: true
  148 
  149 examples:
  150   - |
  151 
  152     flash@ff000000 {
  153         compatible = "cfi-flash";
  154         reg = <0xff000000 0x01000000>;
  155         bank-width = <4>;
  156         device-width = <1>;
  157 
  158         #address-cells = <1>;
  159         #size-cells = <1>;
  160         ranges = <0 0xff000000 0x01000000>;
  161 
  162         fs@0 {
  163             label = "fs";
  164             reg = <0 0xf80000>;
  165         };
  166         firmware@f80000 {
  167             label ="firmware";
  168             reg = <0xf80000 0x80000>;
  169             read-only;
  170         };
  171     };
  172 
  173   - |
  174     /* An example with multiple "reg" tuples */
  175 
  176     flash@0 {
  177         compatible = "intel,PC28F640P30T85", "cfi-flash";
  178         reg = <0x00000000 0x02000000>,
  179               <0x02000000 0x02000000>;
  180         bank-width = <2>;
  181 
  182         #address-cells = <1>;
  183         #size-cells = <1>;
  184         ranges = <0 0 0x04000000>;
  185 
  186         partition@0 {
  187             label = "test-part1";
  188             reg = <0 0x04000000>;
  189         };
  190     };
  191 
  192   - |
  193     /* An example using SRAM */
  194     bus {
  195         #address-cells = <2>;
  196         #size-cells = <1>;
  197 
  198         sram@2,0 {
  199             compatible = "mtd-ram";
  200             reg = <2 0 0x00200000>;
  201             bank-width = <2>;
  202         };
  203     };
  204 
  205   - |
  206     /* An example using addr-gpios */
  207     #include <dt-bindings/gpio/gpio.h>
  208 
  209     flash@20000000 {
  210         compatible = "cfi-flash";
  211         reg = <0x20000000 0x02000000>;
  212         bank-width = <2>;
  213         addr-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
  214 
  215         #address-cells = <1>;
  216         #size-cells = <1>;
  217         ranges = <0 0x00000000 0x02000000>,
  218                  <1 0x02000000 0x02000000>;
  219 
  220         partition@0 {
  221             label = "test-part1";
  222             reg = <0 0x04000000>;
  223         };
  224     };
  225 ...

Cache object: 8f6a492cf0a24cd789b9a73e37fc05ab


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